Skip to main content

Agent-first CLI for fetching Confluence Cloud page context as Markdown or JSON.

Project description

confluence-fetch

confluence-fetch fetches Confluence Cloud pages and turns them into agent-friendly output for CLI tools like Codex CLI and Claude Code.

It is designed for:

  • Fetching page context from a Confluence URL
  • Returning clean Markdown by default
  • Returning structured JSON when needed
  • Keeping secrets out of config files

Why

This tool exists to bring Confluence context into local agent workflows.

The primary use case is:

  1. Set a token in an environment variable
  2. Set your Confluence account email in config
  3. Run confluence-fetch fetch <confluence-url>
  4. Feed the result into an agent

Install

Target public install path:

uvx confluence-fetch --help

For local development, the repo will also keep a PEP 723 script entry point for uv run.

Quick Start

Set your Confluence token:

$env:CONFLUENCE_TOKEN = "<your-token>"

Set your Confluence account email:

uvx confluence-fetch config set-email "you@example.com"

Fetch a page as Markdown:

uvx confluence-fetch fetch "https://your-domain.atlassian.net/wiki/spaces/ENG/pages/123456789/Example+Page"

Fetch the same page as JSON:

uvx confluence-fetch fetch --format json "https://your-domain.atlassian.net/wiki/spaces/ENG/pages/123456789/Example+Page"

Write output to a file:

uvx confluence-fetch fetch -o page.md "https://your-domain.atlassian.net/wiki/spaces/ENG/pages/123456789/Example+Page"

Include comments:

uvx confluence-fetch fetch --comments "https://your-domain.atlassian.net/wiki/spaces/ENG/pages/123456789/Example+Page"

Config

Optional user config lives at:

~/.confluence-fetch/config.toml

The config stores only environment variable names, never secret token values.

Example:

[defaults]
token_env_var = "CONFLUENCE_TOKEN"
email = "you@example.com"

[domains."sona-systems.atlassian.net"]
token_env_var = "SONA_CONFLUENCE_TOKEN"

[domains."example.atlassian.net"]
token_env_var = "EXAMPLE_CONFLUENCE_TOKEN"

Resolution order:

  1. --token-env ENV_VAR
  2. domain-specific config match from the requested Confluence URL
  3. [defaults].token_env_var
  4. built-in default CONFLUENCE_TOKEN

Email resolution order:

  1. [defaults].email
  2. CONFLUENCE_EMAIL
  3. compatibility fallback confluence_email

Config commands:

confluence-fetch config show
confluence-fetch config set-default-token-env ENV_VAR
confluence-fetch config set-email EMAIL
confluence-fetch config clear-email
confluence-fetch config set-domain-token-env DOMAIN ENV_VAR
confluence-fetch config remove-domain DOMAIN

Example:

uvx confluence-fetch config set-domain-token-env sona-systems.atlassian.net SONA_CONFLUENCE_TOKEN

config show displays the effective token env var names, whether they are set or missing, and the configured default email. It never prints token values.

Output

confluence-fetch supports:

  • --format markdown
  • --format json

Markdown is the default.

Diagnostics go to stderr. Payload output goes to stdout unless --output is used.

Development

Implementation target:

  • Python >=3.11
  • installable PyPI package
  • PEP 723 wrapper for uv run

Auth

confluence-fetch uses Basic auth with a Confluence account email plus API token.

Secrets are not written to config.

License

MIT. See LICENSE.

Status

This repo is currently being built around an agent-first v2 spec.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

confluence_fetch-0.9.1.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

confluence_fetch-0.9.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file confluence_fetch-0.9.1.tar.gz.

File metadata

  • Download URL: confluence_fetch-0.9.1.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for confluence_fetch-0.9.1.tar.gz
Algorithm Hash digest
SHA256 67de2be85f52a2622f1e6ceb9f8de37744fc7619354aa43d6f425ee89d60f251
MD5 e809d808865fff192b7eb900559f8b11
BLAKE2b-256 2c3ea049cd0b06c040974fe93ecbc1e2354eb674e09ec3e93e95e88ff8bbf607

See more details on using hashes here.

File details

Details for the file confluence_fetch-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: confluence_fetch-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for confluence_fetch-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 62ac8a36adb2165ff351a9db8d7651ef6fbb52ec44890b9ad2e58dd62d5e73d1
MD5 343d49ea7e7ba6058e67ceea2e52f163
BLAKE2b-256 d4fa1a0faff4fbb2651a2e9f9d84fb7707fc5e8f7645a1d6e51d7acf91e4439d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page