# Castor for Confluence Data Center

Docs: https://castor.moosejudge.com/docs

A secure MCP server that bridges Atlassian Confluence Data Center (9.2 and 10.2, the two current
LTS lines) with AI agents like Claude.

> Castor is an independent, community-built tool. It is not affiliated with, endorsed by, or
> sponsored by Atlassian. Confluence® is a registered trademark of Atlassian Pty Ltd.

## Overview

As Atlassian sunsets Data Center support, this server ensures organizations can still leverage AI
safely within their on-premise Confluence infrastructure. It follows open standards, the MCP
specification, and a "secure by default" model — see `alces-mcp` (the sibling Jira DC server this
project mirrors) for the shared design lineage.

## Features

- **7 domain tools** covering spaces, pages, and CQL search, plus `get_api_references` for
  querying the generated API catalog — `docs/api-catalog.md` tracks the full set of cataloged
  Confluence DC operations and which are implemented.
- **Dual-token security**: `CONFLUENCE_USER_TOKEN` for standard operations,
  `CONFLUENCE_ADMIN_TOKEN` for elevated ones (e.g. `admin_get_space_permissions`) — admin tools are
  invisible to the agent without the admin token configured.
- **Skills as MCP Resources**: agent-facing operational guidance via `skill://spaces-pages`.

## Install to use

Just want to talk to your Confluence DC instance through Claude Desktop, without cloning or
building anything? Install the pre-built bundle:

1. Download the latest `castor-mcp-<version>.mcpb` from the
   [GitLab Releases page](https://gitlab.com/moosejudge/castor-mcp/-/releases).
2. In Claude Desktop: **Settings → Extensions → Advanced settings → Extension Developer →
   "Install Extension…"**, then select the downloaded file.
3. Enter your Confluence URL and PAT(s) when prompted — these are stored via your OS keychain,
   never as plaintext.

Once connected, see [docs/user/](./docs/user/spaces-pages.md) for what you can do and how to ask
for it.

If you're integrating Castor into a coding agent instead of Claude Desktop, it's also published on
npm as [`castor-mcp`](https://www.npmjs.com/package/castor-mcp) — point your agent's MCP config at
`command: "npx"`, `args: ["-y", "castor-mcp"]` instead of cloning or building anything. See
[Setup to develop](#setup-to-develop) below only if you're contributing or need to run from an
unreleased commit.

## Setup to develop

1. Clone the repository.
2. Install dependencies:
   ```bash
   npm install
   ```
3. Copy `.env.example` to `.env` and fill in `CONFLUENCE_URL` and `CONFLUENCE_USER_TOKEN`
   (optionally `CONFLUENCE_ADMIN_TOKEN`).
4. Build the project:
   ```bash
   npm run build
   ```
5. Run tests:
   ```bash
   npm test
   ```

There is no running local Confluence instance yet — `docker-compose.yml` defines one (see
`docs/developer/testing-environment.md`), but it requires a Confluence developer license this
project does not currently have, and has never been started.

## Documentation

- `docs/user/` — task-oriented guide to what the agent can do.
- `docs/developer/` — codebase notes for contributors.
- `docs/api-catalog.md` — generated reference of every cataloged Confluence DC operation and its
  implementation status.
- `docs/specs/`, `docs/plans/` — design specs and implementation plans.
