mcpbeat

Atlassian

sanjay3290/atlassian

| Manage Jira issues and Confluence wiki pages in Atlassian Cloud. with CQL, (3) managing Jira workflows, transitions, and comments, (4) browsing Confluence spaces and page hierarchies. Supports OAuth 2.1 via MCP server (recommended) or API token authentication (fallback).

27k tokens
context cost
the whole folder, loaded on every use
8
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
363
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/sanjay3290/ai-skills --skill atlassian

The instruction itself

31 sections, as written by the author

Atlassian (Jira + Confluence)

Full Jira and Confluence integration with two authentication methods:

  • OAuth 2.1 via Atlassian MCP server — browser-based consent, auto-refresh tokens, calls MCP tools
  • API token — email + token stored in keyring, calls REST API directly

First-Time Setup

No API tokens or instance URLs needed. Uses dynamic client registration and PKCE.

pip install -r requirements.txt
python scripts/auth.py login --oauth

A browser opens for Atlassian authorization. Select which products (Jira, Confluence, Compass) to grant access. Tokens are stored in the system keyring and auto-refresh when expired.

Check status:

python scripts/auth.py status

Option 2: API Token (Fallback)

For environments where browser-based OAuth isn't available.

pip install -r requirements.txt
python scripts/auth.py login

Follow the prompts to enter your Atlassian URL, email, and API token. Credentials are stored securely in the system keyring.

Create an API token at: https://id.atlassian.com/manage-profile/security/api-tokens

Check authentication status:

python scripts/auth.py status

Logout (clears both OAuth and API token credentials):

python scripts/auth.py logout

Backend Selection

The scripts automatically detect which backend to use based on your auth type:

  • OAuth → MCP backend (calls Atlassian MCP server tools)
  • API token → REST backend (calls Atlassian REST API directly)

All commands work identically regardless of backend.

Jira (scripts/jira.py)

Search issues with JQL

python scripts/jira.py search "project = DEV AND status = Open"
python scripts/jira.py search "assignee = currentUser() ORDER BY updated DESC" --limit 10

Get issue details

python scripts/jira.py get DEV-123

Create an issue

python scripts/jira.py create --project DEV --summary "Fix login bug" --type Bug
python scripts/jira.py create --project DEV --summary "New feature" --type Story \
  --description "Details here" --priority High --assignee "[email protected]" --labels "backend,urgent"

Update an issue

python scripts/jira.py update DEV-123 --summary "Updated summary" --priority High
python scripts/jira.py update DEV-123 --assignee "[email protected]"

Transition issue status

python scripts/jira.py transition DEV-123 "In Progress"
python scripts/jira.py transition DEV-123 "Done"

Add and list comments

python scripts/jira.py comment DEV-123 --add "This is a comment"
python scripts/jira.py comment DEV-123 --list

List projects and statuses

python scripts/jira.py list-projects
python scripts/jira.py list-statuses DEV

Test authentication

python scripts/jira.py auth-info

List available MCP tools (OAuth only)

python scripts/jira.py list-tools

Confluence (scripts/confluence.py)

Search pages

python scripts/confluence.py search "deployment guide"
python scripts/confluence.py search "type=page AND space=DEV AND text~\"deployment\""
python scripts/confluence.py search "onboarding" --limit 10

Read a page

python scripts/confluence.py read <page-id>
python scripts/confluence.py read <page-id> --json

List spaces

python scripts/confluence.py list-spaces
python scripts/confluence.py list-spaces --limit 50

Get space details

python scripts/confluence.py get-space <space-id>

List pages in a space

python scripts/confluence.py list-pages --space-id <space-id>

Create a page

python scripts/confluence.py create --title "New Page" --space-id <space-id>
python scripts/confluence.py create --title "Guide" --space-id <id> --body "<p>Content here</p>"
python scripts/confluence.py create --title "Child" --space-id <id> --parent-id <parent-id>

Update a page

python scripts/confluence.py update <page-id> --title "Updated Title"
python scripts/confluence.py update <page-id> --body "<p>New content</p>"

Get child pages

python scripts/confluence.py get-children <page-id>

Test authentication

python scripts/confluence.py auth-info

List available MCP tools (OAuth only)

python scripts/confluence.py list-tools

Operations Reference

Jira

| Command | Description | Required Args |

|---------|-------------|---------------|

| search | Search issues with JQL | jql |

| get | Get issue details | issue_key |

| create | Create new issue | --project, --summary, --type |

| update | Update existing issue | issue_key |

| transition | Change issue status | issue_key, status |

| comment | Add or list comments | issue_key |

| list-projects | List accessible projects | - |

| list-statuses | List statuses for project | project_key |

| auth-info | Test API connection | - |

| list-tools | List MCP tools (OAuth only) | - |

Confluence

| Command | Description | Required Args |

|---------|-------------|---------------|

| search | Search using CQL | query |

| read | Get page content | page_id |

| list-spaces | List all spaces | - |

| get-space | Get space details | space_id |

| list-pages | List pages in a space | --space-id |

| create | Create new page | --title, --space-id |

| update | Update existing page | page_id |

| get-children | Get child pages | page_id |

| auth-info | Test API connection | - |

| list-tools | List MCP tools (OAuth only) | - |

JSON Output

Add --json flag to any script command for machine-readable output.

Token Management

Credentials stored securely using the system keyring:

  • macOS: Keychain
  • Windows: Windows Credential Locker
  • Linux: Secret Service API

Service name: atlassian-skill

OAuth tokens auto-refresh when expired (if refresh token is available).

How to use it

Copy the folder

Take sanjay3290/atlassian from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip. Without those the skill loads but fails at the first command.