Skip to main content

atli

atli is a command-line interface for Jira and Confluence. It exposes every operation of mcp-atlassian as an ordinary shell command — no MCP client, server process, or daemon. Tools are discovered at startup from the mcp-atlassian server itself, so new tools appear automatically with pinned versions.

atli tools                              # list what your credentials unlock
atli jira get-issue --issue-key PROJ-1  # markdown, verbatim from the tool
atli confluence search --query "deploy"
atli --profile work jira search --jql "assignee = currentUser()"

Install

$ pipx install mcp-atlassian-cli

Or from a checkout:

$ git clone <this-repo> && cd mcp-atlassian-cli
$ python -m venv .venv
$ .venv/bin/pip install -e .
$ .venv/bin/atli tools

Requires Python 3.11+. The package pins mcp-atlassian>=0.23,<0.24 (which resolves to fastmcp 3.4.x today) and cyclopts>=4.22,<5.

Authentication

atli authenticates with the same environment variables as mcp-atlassian. Tools appear only for services you have configured — 63 Jira commands with JIRA_* set, 35 Confluence commands with CONFLUENCE_* set, 98 with both, none with neither.

Deployment Jira Confluence
Cloud (basic auth) JIRA_URL + JIRA_USERNAME + JIRA_API_TOKEN CONFLUENCE_URL + CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN
Data Center / Server (PAT) JIRA_URL + JIRA_PERSONAL_TOKEN CONFLUENCE_URL + CONFLUENCE_PERSONAL_TOKEN
Data Center / Server (mTLS) JIRA_URL + JIRA_CLIENT_CERT (+ JIRA_CLIENT_KEY) CONFLUENCE_URL + CONFLUENCE_CLIENT_CERT (+ CONFLUENCE_CLIENT_KEY)

Notes:

  • On Cloud, username is the Atlassian account email; the API token comes from https://id.atlassian.com/manage-profile/security/api-tokens.
  • On Data Center/Server, the personal token is created under Profile → Personal Access Tokens.
  • mTLS with an encrypted private key is not supported (the underlying library rejects it). Decrypt the key first: openssl rsa -in key.enc -out key.
  • Data Center/Server also accepts username + API token via the same *_USERNAME/*_API_TOKEN variables if basic auth is enabled.
  • *URL may include /wiki for Confluence. The URL decides Cloud vs Data Center: hosts ending in .atlassian.net (also .jira.com, .jira-dev.com, .atlassian.com, and exact-match api.atlassian.com, plus the US-Gov domains) mean Cloud; everything else, including localhost and private IPs, means Data Center/Server.
$ export JIRA_URL="https://your-company.atlassian.net"
$ export JIRA_USERNAME="you@your-company.com"
$ export JIRA_API_TOKEN="..."
$ atli tools | head -3

Profiles (multiple instances)

Storing credentials in a TOML file lets you switch instances with --profile NAME and keep several side by side. Config lookup order:

  1. $ATLI_CONFIG — if set, must point at an existing file (an error otherwise)
  2. ./.atli.toml in the current directory
  3. ~/.config/atli/config.toml

The first existing file wins. Any key you set in a profile (including options such as TOOLSETS = "all", which is unprefixed) replaces the ambient environment for that service prefix; prefixes the profile doesn't mention are left untouched. TOOLSETS only takes effect in a profile that also sets at least one service-prefixed key (JIRA_*/CONFLUENCE_*/MCP_ATLASSIAN_*) — a TOOLSETS-only profile changes nothing.

# ~/.config/atli/config.toml
default_profile = "work"

[profiles.work]
JIRA_URL = "https://your-company.atlassian.net"
JIRA_USERNAME = "you@your-company.com"
JIRA_API_TOKEN = "..."
CONFLUENCE_URL = "https://your-company.atlassian.net/wiki"
CONFLUENCE_USERNAME = "you@your-company.com"
CONFLUENCE_API_TOKEN = "..."

[profiles.dc]
JIRA_URL = "https://jira.internal.example.com"
JIRA_PERSONAL_TOKEN = "..."

Warning: profiles are plaintext credentials. After creating the file, run:

$ chmod 600 ~/.config/atli/config.toml

Profile selection order: --profile NAME flag > $ATLI_PROFILE > the default_profile key. The flag must appear before the subcommand; atli --profile=work tools and atli --profile work tools both work.

$ atli profiles            # lists profiles and URLs — never tokens
* work (default)
    jira: https://your-company.atlassian.net
    confluence: https://your-company.atlassian.net/wiki
  dc
    jira: https://jira.internal.example.com
$ atli --profile dc jira get-issue --issue-key OPS-42

Exit codes

Code Meaning
0 Success (tool output on stdout)
1 Tool or server failure — the tool's error message on stderr
2 Usage or configuration error — bad flags, missing/invalid config file, unknown profile

Notes for agents and scripts

  • atli <service> <tool> --help shows every parameter with its type and default, straight from the tool's schema.
  • Repeatable list flags repeat: --read-users alice --read-users bob (on confluence set-page-restrictions) gives ["alice", "bob"]; --read-users alice,bob gives one element "alice,bob".
  • Startup takes ~1 s warm, a few seconds cold (the mcp-atlassian import dominates). For bulk work, prefer one search over many single-item calls.

Download files

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

Source Distribution

mcp_atlassian_cli-0.1.0.tar.gz (25.2 kB view details)

Uploaded Source

Built Distribution

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

mcp_atlassian_cli-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_atlassian_cli-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_atlassian_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mcp_atlassian_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d088cbdb6dc223873c9d5e0cabc0249fa53c95cde9eda479038270cd4faa70c5
MD5 20b1b9c975a6d4bb16dd99b88a38bb95
BLAKE2b-256 dcffabc9ab316acddb685af30db2b2fdcbf79f9da9b975235466745f8ed5a063

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_atlassian_cli-0.1.0.tar.gz:

Publisher: release.yml on HumanBean17/atlassian-mcp-cli-wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_atlassian_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_atlassian_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f822032f1535cc67b395857a7703c60b702804a12ac759edb9819a6e364f720a
MD5 faa7b1558139090861659058ec52fe86
BLAKE2b-256 de402c769cda0f1bb7f9bc14cca5cc83e01dca3ab0a0c5c81651c1ea4f94a65d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_atlassian_cli-0.1.0-py3-none-any.whl:

Publisher: release.yml on HumanBean17/atlassian-mcp-cli-wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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