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

@neverprepared/mcp-markdown-to-confluence

v1.4.2

Published

MCP server for converting markdown to Confluence ADF and publishing pages with diagram support via Kroki

Readme

mcp-markdown-to-confluence

An MCP (Model Context Protocol) server that converts Markdown files to Atlassian Document Format (ADF) and publishes them to Confluence. Mermaid diagrams are rendered to PNG images and uploaded as page attachments.

Features

  • Convert Markdown → Confluence ADF with full formatting support (tables, code blocks, callouts, TOC)
  • Render Mermaid diagrams to PNG via headless Chromium and attach them to pages
  • Preview content before publishing
  • Create new pages or update existing ones
  • Publish from inline Markdown or directly from a .md file using frontmatter

Installation

npm

npm install @neverprepared/mcp-markdown-to-confluence

From source

git clone https://github.com/neverprepared/mcp-markdown-to-confluence.git
cd mcp-markdown-to-confluence
npm install
npm run build

Configuration

Set the following environment variables:

| Variable | Description | |---|---| | CONFLUENCE_BASE_URL | Your Confluence base URL, e.g. https://your-org.atlassian.net | | CONFLUENCE_USERNAME | Your Atlassian account email | | CONFLUENCE_API_TOKEN | Your Atlassian API token (create one here) |

Claude Code Setup

Add to your Claude Code MCP config (.claude/.claude.json):

{
  "mcpServers": {
    "markdown-to-confluence": {
      "command": "node",
      "args": ["/path/to/mcp-markdown-to-confluence/dist/index.js"],
      "env": {
        "CONFLUENCE_BASE_URL": "https://your-org.atlassian.net",
        "CONFLUENCE_USERNAME": "[email protected]",
        "CONFLUENCE_API_TOKEN": "your-api-token"
      }
    }
  }
}

Tools

markdown_preview

Convert Markdown to ADF and return a text preview — no Confluence calls made.

| Parameter | Type | Required | Description | |---|---|---|---| | markdown | string | yes | Markdown content to preview | | title | string | yes | Page title |

markdown_publish

Publish Markdown to a Confluence page. By default shows a preview first.

| Parameter | Type | Required | Description | |---|---|---|---| | markdown | string | yes | Markdown content | | title | string | yes | Confluence page title | | spaceKey | string | yes | Confluence space key (e.g. ENG) | | pageId | string | no | Existing page ID to update; omit to create a new page | | parentId | string | no | Parent page ID for new pages | | skip_preview | boolean | no | Set true to publish without preview (default: false) |

markdown_publish_file

Read a .md file from disk and publish it. Page metadata is read from frontmatter.

| Parameter | Type | Required | Description | |---|---|---|---| | filePath | string | yes | Absolute path to the Markdown file | | skip_preview | boolean | no | Set true to publish without preview (default: false) |

Supported frontmatter keys:

---
connie-title: My Page Title
connie-space-key: ENG
connie-page-id: "123456"   # omit to create a new page
title: Fallback title      # used if connie-title is absent
---

Preview Flow

By default, markdown_publish and markdown_publish_file return a rendered preview and prompt you to confirm before publishing. To publish in one step, pass skip_preview: true.

# Step 1 — review
markdown_publish(markdown: "...", title: "My Page", spaceKey: "ENG")
→ returns preview text

# Step 2 — publish
markdown_publish(markdown: "...", title: "My Page", spaceKey: "ENG", skip_preview: true)
→ returns page URL

Mermaid Diagrams

Mermaid code blocks are automatically detected, rendered to PNG via headless Chromium (bundled with Puppeteer), and uploaded as Confluence page attachments. The first run will download Chromium (~170 MB).

```mermaid
flowchart TD
  A[Write Markdown] --> B[Preview]
  B --> C{Looks good?}
  C -- Yes --> D[Publish]
  C -- No --> A
```

License

MIT