npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@alexsarrell/confluence-mcp-server

v0.1.0

Published

MCP server for self-hosted (on-prem) Confluence Server/Data Center via Personal Access Token

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-server

Claude 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 корректны.