Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Claude Code - Jira MCP

Jason Hawsey
Contributor
October 2, 2025

Am I the only one that has to re-authenticate to the Jira MCP multiple times a day? 

In my claude code setup I have the MCP servrer setup as:

"mcpServers": {
"atlassian": {
"type": "sse",
"url": "https://mcp.atlassian.com/v1/sse"
},

...
},

 

This works great after authenticationg....for about a few hours and then it just stops connecting and I have to reauthenticate.

 

I did do a search through the community for anybody else having this but I didn't find anything.  BTW this is happening across multiple workstations for me.  Also happens in the Claude desktop app as well.

5 answers

0 votes
Jason Hawsey
Contributor
January 14, 2026

Putting this as an answer for now:

 

I should have come back here sooner but I went away from the Jira MCP completely and setup a skill.

 

I first installed acli and authenticated to it.

Then I created a script to automate acli usage. 

FInally I created a claude skill and claude / commands for Jira to use the script.  It works perfectly now and much faster.  I haven't authenticated since I installed acli initially.  So nice and clean

Here is my script


cat jira_acli.sh

#!/usr/bin/env bash

set -euo pipefail

cmd="$1"

shift || true

case "$cmd" in

  view)

    key="$1"

    acli jira workitem view "$key" --json

    ;;

  comment)

    key="$1"

    shift

    body="$*"

    acli jira workitem comment add "$key" --body "$body"

    ;;

  search)

    jql="$1"

    acli jira workitem search --jql "$jql" --limit 10 --json

    ;;

  transitions)

    key="$1"

    acli jira workitem transition list "$key" --json

    ;;

  transition)

    key="$1"

    transition="$2"

    acli jira workitem transition "$key" --transition "$transition"

    ;;

  *)

    echo "Unknown command"

    exit 1

    ;;

esac

 


Here is an example of my slash command:


cat ticket-plan.md

---

description: Get Jira ticket details and create plan

argument-hint: [Jira Ticket] [Think Level]

model: opus

---

Immediately run: `/Users/___/bin/jira_acli.sh view $1`

 

After viewing, extract:

1. Description and acceptance criteria

2. Comments (look for design notes and testing results)

3. Attachments if available

 

If there are testing results focus on those as the items to change.  They should be in the last 1-2 comments.

 

$2

 

Create plan at /tasks/$1_PLAN.md with:

- Summary of ticket requirements

- If testing results exist in comments: focus plan on fixing those issues

- Implementation steps (no code yet)

 

Do not narrate steps. Execute directly.

0 votes
Ralph Pina
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
January 14, 2026

It's mid-Jan 2025 and multiple members of the Affirm team are reporting that they need to re-auth multiple times a day.

 

Any way we can bump the lifetime of those tokens?

Jason Hawsey
Contributor
January 14, 2026

I should have come back here sooner but I went away from the Jira MCP completely and setup a skill.

 

I first installed acli and authenticated to it.

Then I created a script to automate acli usage. 

FInally I created a claude skill and claude / commands for Jira to use the script.  It works perfectly now and much faster.  I haven't authenticated since I installed acli initially.  So nice and clean

Here is my script


cat jira_acli.sh

#!/usr/bin/env bash

set -euo pipefail

cmd="$1"

shift || true

case "$cmd" in

  view)

    key="$1"

    acli jira workitem view "$key" --json

    ;;

  comment)

    key="$1"

    shift

    body="$*"

    acli jira workitem comment add "$key" --body "$body"

    ;;

  search)

    jql="$1"

    acli jira workitem search --jql "$jql" --limit 10 --json

    ;;

  transitions)

    key="$1"

    acli jira workitem transition list "$key" --json

    ;;

  transition)

    key="$1"

    transition="$2"

    acli jira workitem transition "$key" --transition "$transition"

    ;;

  *)

    echo "Unknown command"

    exit 1

    ;;

esac

 


Here is an example of my slash command:


cat ticket-plan.md

---

description: Get Jira ticket details and create plan

argument-hint: [Jira Ticket] [Think Level]

model: opus

---

Immediately run: `/Users/___/bin/jira_acli.sh view $1`

 

After viewing, extract:

1. Description and acceptance criteria

2. Comments (look for design notes and testing results)

3. Attachments if available

 

If there are testing results focus on those as the items to change.  They should be in the last 1-2 comments.

 

$2

 

Create plan at /tasks/$1_PLAN.md with:

- Summary of ticket requirements

- If testing results exist in comments: focus plan on fixing those issues

- Implementation steps (no code yet)

 

Do not narrate steps. Execute directly.

Like Ralph Pina likes this
0 votes
Ewan Walsh
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
November 10, 2025

Me too, the mcp server is unusable. How do we know when someone has pulled their finger out and fixed it?

0 votes
Peter Nguyen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 9, 2025

Hi all, we're currently aware of the reliability of the Atlassian MCP server for some users and are currently making steps to resolve it. 

I'll provide an update once we have more details.

Peter.

0 votes
Carlos Garcia Navarro
Community Champion
October 2, 2025

Hi @Jason Hawsey ,

Welcome to the Community! Have you tried to configure your MCP using Jira API tokens for authorization? If you use Oauth the access tokens expire. 

To create a Jira API token go to:

https://id.atlassian.com/manage-profile/security/api-tokens

To configure your MCP in Claude, I recommend to ask Claude as it can guide you step by step :-) 

Typical MCP Jira configuration structure looks something like this:

json
{
  "mcpServers": {
    "jira": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-jira"],
      "env": {
        "JIRA_URL": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

 

Jason Hawsey
Contributor
October 3, 2025

Thanks @Carlos Garcia Navarro.  I did try that just now.  However it wouldn't work and when I used Claude Code to help me fix it here is what I got:


⏺ It looks like there's an API compatibility issue with the Jira MCP tool. Let me check what other Jira tools are available and try an alternative approach:

⏺ You're right - the @MCP-devtools/jira package appears to be using an outdated Jira API. However, @modelcontextprotocol/server-jira doesn't exist in npm.

Let me search for the correct official MCP Jira server:

⏺ Web Search("modelcontextprotocol official jira server npm package github 2025")
⎿  Did 1 search in 17s

⏺ Fetch(https://github.com/modelcontextprotocol/servers)
⎿  Received 1.6MB (200 OK)

⏺ The official Atlassian MCP server (which supports both Jira and Confluence) is what you had originally configured. It uses OAuth via SSE (Server-Sent Events) instead of API tokens. Let me restore that configuration:


 

So I got it to help me setup the new one with @modelcontextprotocol/server-jira and when that filed to connect it moved me to @MCP-devtools/jira which appears to be old.  That did connect but it is an outdated API.  It said @modelcontextprotocol/server-jira was not in npm so it couldn't user it.  Thus it moved me back to the oAuth via SSE which is my original unstable connection.

 

 

Any ideas?  Thanks again for your help.

Carlos Garcia Navarro
Community Champion
October 3, 2025

Oh, interesting! I'm going to take a closer look later, but in the meantime l'm requesting assistance from the Atlassian Support team, since they can check that message about the outdated API. Thanks!

Steven Hood
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
October 3, 2025

For what it's worth, I see the same thing.  The Atlassian MCP via SSE is unreliable.  I do use several Claude Code sessions, and they all need to connect, so I thought perhaps that was causing issues, but I can't see why multiple connections would be a problem.

I have considered going back to an Atlassian CLI (go-jira, most likely), which is the pattern I use for Github (via their 'gh' CLI).  It works really well for PRs and comments, so I hope Atlassian can sort this out!

Carlos Garcia Navarro
Community Champion
October 3, 2025

Thanks for sharing, Steven!

Jason Hawsey
Contributor
October 4, 2025

Thanks both @Steven Hood  and @Carlos Garcia Navarro

Are there not a lot of folks using the SSE MCP?  If there are, are they having a better experience?  Just wondering if we are a couple of outliers.

Corey Puffalt
October 21, 2025

You're not completely alone.  I've had similar issues myself.  They seem sporadic.  To be fair, sometimes I think the issue might be with Claude Code.  Sometimes a request just seems to hang but Claude never times out so it's unclear whether it's a threading/networking bug on Claude's end.  It's also unhelpful about not reporting back anything meaningful for error messages.  

Like Jason Hawsey likes this
Jason Hawsey
Contributor
October 21, 2025

Maybe, but if I re-authenticate to Jira MCP, Claude Code will work fine.  So now my workflow is if I stop for more than an hour of work, I just re-authenticate and it never has a problem.  But that is obviously not ideal.

Jack Steam
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
November 7, 2025

Unreliable auth isn't just a Claude Code issue. I'm using Atlassian MCP with Cursor and I have to reauthenticate at least once a day, usually multiple times in a working session.

It's amazing when it works, tho

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events