MeowKit

Confluence Integration

Install and authenticate Confluence access, understand the Cloud-only boundary and the write rules, and find the right skill for a task.

MeowKit reads and writes Confluence through the confluence-as CLI. If you have already set up Jira, most of this is done, because the same Atlassian API token works for both.

Set it up

The same command installs both wrappers:

npx mewkit setup

Then add three values to .meowkit/.env:

VariableWhat it is
MEOW_CONFLUENCE_API_TOKENAn Atlassian Cloud API token. The same one you use for Jira is fine
MEOW_CONFLUENCE_EMAILThe Atlassian account that token belongs to
MEOW_CONFLUENCE_SITE_URLYour site, for example https://your-company.atlassian.net

What it will and will not do on its own

  • Cloud only, and it is enforced rather than documented. The wrapper exits with status 3 on any URL that is not *.atlassian.net. Server and Data Center do not work through confluence-as; use the Atlassian MCP transport instead, invoked explicitly. The hub does not fall back on its own.
  • Bulk operations require a dry run. Ten or more pages means you see the plan before anything changes.
  • The implementation pipeline never writes back. mk:cook reads Confluence specs; it does not update Confluence pages when it ships. Write paths are deliberately outside the pipeline, so a build cannot quietly edit your documentation.
  • Spec analysis is read-only at the Confluence side. mk:confluence-spec-analyst produces a report in your repo, not a comment on the page.

Find the right skill

What you want to doSkill
Get, create, update, delete, copy, move, or version a pagemk:confluence-page
Search with CQL, list spaces, export resultsmk:confluence-search
Pull requirements, gaps, and suggested stories out of a specmk:confluence-spec-analyst
Label, move, or delete ten or more pagesmk:confluence-bulk
Comments, attachments, labels, watchersmk:confluence-collaborate

Two routing rules are worth knowing because they are not guessable. Labels belong to mk:confluence-collaborate, not to mk:confluence-page, because "label this page" is a collaboration operation. So are comments, attachments, and watchers, even when scoped to a single page.

When it goes wrong

The wrapper exits with status 3. Your site URL is not an *.atlassian.net address. This is the Cloud-only check, not a misconfiguration. Server and Data Center need the MCP transport.

A page fetch returns something that does not look like the page. Confluence stores content as ADF, and MeowKit converts it to Markdown through a macro-aware walker. Unusual macros can convert imperfectly. The page ID and the raw fetch are both available if you need to check what the source actually contains.

mk:planning-engine will not accept your spec. It takes --spec <report-path> pointing at a spec-analyst report, not at a Confluence URL. Run mk:confluence-spec-analyst first, then pass the path it gives you.

Next steps

On this page