Metadata-Version: 2.4
Name: acli-mcp-server
Version: 0.1.0
Summary: MCP server that wraps the Atlassian CLI (acli) into generic tools
Author: bpmiranda3099
License-Expression: MIT
License-File: LICENSE
Keywords: acli,atlassian,cli,confluence,jira,mcp
Requires-Python: >=3.10
Requires-Dist: mcp[cli]>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# Atlassian CLI MCP Server

[![PyPI](https://img.shields.io/pypi/v/acli-mcp-server)](https://pypi.org/project/acli-mcp-server)
[![License](https://img.shields.io/pypi/l/acli-mcp-server)](https://github.com/bpmiranda3099/acli-mcp-server/blob/main/LICENSE)

MCP server that wraps the [Atlassian CLI (acli)](https://developer.atlassian.com/cloud/acli/) into two generic tools — same pattern as [`gh-cli-mcp-server`](https://github.com/bpmiranda3099/gh-cli-mcp-server).

## Why?

The official Atlassian MCP server exposes 30+ individual tools. This server wraps the entire `acli` binary into just 2:

- `call_acli` — run any `acli` command
- `suggest_acli_commands` — get help with syntax

Covers Jira (work items, projects, boards, sprints) and Confluence (pages, spaces, blogs) through one interface.

## Prerequisites

- [Atlassian CLI (acli)](https://developer.atlassian.com/cloud/acli/guides/install-macos/) installed and authenticated
- [uv](https://docs.astral.sh/uv/getting-started/installation/) (recommended, for running with `uvx`)

## Usage with MCP clients

```json
{
  "mcpServers": {
    "atlassian": {
      "command": "uvx",
      "args": ["acli-mcp-server"]
    }
  }
}
```

## Examples

| You say | What runs |
|---|---|
| "List my Jira projects" | `acli jira project list --site site.atlassian.net` |
| "Create a task in PROJ" | `acli jira workitem create --site site.atlassian.net --project PROJ --type Task --summary "..."` |
| "Show issue PROJ-123" | `acli jira workitem view --site site.atlassian.net --workitem PROJ-123` |
| "Move PROJ-123 to Done" | `acli jira workitem transition --site site.atlassian.net --workitem PROJ-123 --transition Done` |
| "List pages in SPACE" | `acli confluence page list --site site.atlassian.net --space SPACE` |
| "Show current sprint" | `acli jira sprint list --site site.atlassian.net --board 1` |

## Why not just use `acli` through a shell tool?

You can — it works. This server just cleans things up:

- Parses `acli` output into structured JSON when possible, instead of raw terminal text
- Handles timeouts so commands don't hang forever
- Includes a `suggest_acli_commands` tool for when you're unsure about syntax
- Shows up as a dedicated "atlassian" capability instead of generic shell access
- Blocks shell injection (no `;`, `|`, `&&`, etc.)

Same `acli` underneath, just a safer wrapper for MCP clients.
