An MCP server for Jira: tasks and comments straight from the agent

We connect the official Atlassian MCP server to Claude Code: JQL search, comments, access rights and safe token handling.

6 min · · агенты · автоматизация

Jira tasks usually live apart from code: open a tab, find the ticket, copy the description, write a comment. An MCP server for Jira removes that back and forth: the agent reads the task itself, searches with JQL, writes comments and moves statuses. Below is how to connect the official Atlassian server to Claude Code, which actions it exposes, how to restrict permissions, and how many tokens it uses. The setup follows Atlassian's documentation as of October 2026; they update the server, so check addresses and names against it.

An MCP server for Jira: which one to choose

MCP (Model Context Protocol) is a standard way to give an agent a set of tools. For Jira there are two options:

  • The official Atlassian remote server. The address is https://mcp.atlassian.com/v2/mcp, with OAuth 2.1 authorization that respects your existing Jira permissions. Atlassian's documentation calls the current version v2, and the server works not only with Jira but also with Confluence, Bitbucket and other products.
  • Community servers. They usually run locally and reach Jira with an API token. The tool set and the security of each differ, so study the specific project's documentation and source code before connecting.

The rest of the article uses the official server, because its documentation is public and its permissions are tied to your account.

Connecting to Claude Code

Claude Code can add a remote MCP server with one command. For Atlassian the documentation suggests:

bash
claude mcp add --transport http atlassian https://mcp.atlassian.com/v2/mcp

Then open a claude session and run /mcp: Claude Code starts a browser sign-in. After you grant access the server moves to the connected status. You can check the state with claude mcp list and claude mcp get atlassian.

Where the configuration is stored depends on the scope. According to the Claude Code docs, a server is added to the local scope by default: only you see it, and only in the current project. The --scope user option makes it available across all your projects, and --scope project writes the setting into a .mcp.json file at the repository root so the whole team gets it. For Jira the default or user is usually enough; a shared file in the repository is convenient only when it contains no secrets.

Claude Code itself runs through the gateway

The Atlassian MCP server provides tools. Which model drives them is set in Claude Code itself. If you connected it to Zukko, the variables are the same as in the regular guide:

bash
export ANTHROPIC_BASE_URL=https://api.zukko.pro
export ANTHROPIC_AUTH_TOKEN=fetch_your_key
export ANTHROPIC_MODEL=claude-sonnet-5-5

The address has no /v1, and the token goes specifically into ANTHROPIC_AUTH_TOKEN. Full setup is in the Claude Code guide. Jira data will end up in requests to the model, so make sure your company's policy allows it.

What the server can do: tasks, comments, JQL

In Atlassian's tool reference the Jira tools are split into permission groups. The names below are taken from that reference:

GroupExample toolsWhat they do
readgetJiraIssue, listJiraIssueComments, listJiraIssueTransitionsread a task, comments, available status transitions
searchsearchJiraIssuesUsingJqlsearch tasks with a JQL query
writecreateJiraIssue, editJiraIssue, addOrEditJiraIssueComment, transitionJiraIssuecreate and edit tasks, write comments, change status
deletedeleteJiraIssue and otherspermanent deletion; disabled by default per the docs

The organization admin grants and revokes access at the group level, and each tool inherits the rights of its group. As a first call the agent usually fetches the list of Atlassian sites available to you, because every call needs a site identifier (cloudId).

Typical requests to the agent:

bash
Find my In Progress tasks in the PAY project updated in the last week
and tell me which of them have had no comments for more than three days.

The agent turns this into a JQL query roughly like:

bash
project = PAY AND status = "In Progress" AND assignee = currentUser() AND updated >= -7d ORDER BY updated DESC

Another common scenario: "Read PAY-412, look at the branch in the repository and add a comment that the fix is ready for review". The agent reads the task, finds the right commit and leaves the comment text.

For a business this adds up to concrete AI agent scenarios: a morning sprint summary, triage of new bugs by priority, a status report for a manager, creating tasks from meeting notes. It is better to keep every write to Jira behind your confirmation.

Permissions and a safe token

OAuth 2.1 acts on your behalf, and whatever the agent can do, you can do. So the rules are simple:

  1. Least privilege. If the agent only needs to read, do not give it write access. In the warning attached to its server, Atlassian advises least privilege, reviewing high-impact changes before confirming them and monitoring audit logs.
  2. Rules in Claude Code. Allow the safe things without prompts and deny the dangerous ones. MCP tool names are built as mcp__<server>__<tool>:
bash
{
  "permissions": {
    "allow": [
      "mcp__atlassian__getJiraIssue",
      "mcp__atlassian__searchJiraIssuesUsingJql"
    ],
    "deny": [
      "mcp__atlassian__executeDestructive"
    ]
  }
}

By default Claude Code will ask you to confirm the remaining calls. Look up the real tool names with /mcp in your session: Atlassian shows the agent a short list of primary tools and opens the rest through discovery and "execute" tools, so the set may look different.

  1. An API token instead of OAuth only when necessary. Atlassian allows sign-in without an interactive window using a personal API token (Basic authorization from an "email:token" pair, base64-encoded) or a service account key (Bearer), if an administrator has enabled it. The tool set in this mode may be smaller. The token is passed as a header:
bash
claude mcp add --transport http atlassian https://mcp.atlassian.com/v2/mcp \
  --header "Authorization: Bearer $ATLASSIAN_SERVICE_KEY"

Issue a separate service account with limited rights for this, do not use your own token, and do not commit the header into .mcp.json. In that file Claude Code supports environment variable substitution in the form ${VAR}, so the secret can stay outside the repository. The same rules as for the gateway key are covered in the article on API key security.

  1. Untrusted text. Anyone can write Jira descriptions and comments, including instructions addressed to the agent. Do not enable auto-approval for writes while the agent reads tickets written by outsiders.

What it costs

The model spends tokens, not Jira. A worked example: triaging 30 tasks of 1,500 tokens each gives 45,000 input tokens and about 3,000 output tokens. On claude-sonnet-5-5 (input 0.4, output 2, $ per 1M tokens, as of 18 October 2026): 0.045 × 0.4 + 0.003 × 2 = 0.018 + 0.006 = $0.024.

But an agent works in loops, and the accumulated context is sent again at each step. Say 10 steps with 30,000 tokens of context: 0.3 × 0.4 = $0.12 if all input is counted as fresh. Claude Code uses the Anthropic format, where the cache is visible, and a cache read on claude-sonnet-5-5 costs 0.05: if most of the context is read from cache, input costs roughly 0.3 × 0.05 = $0.015 plus the write of the new part. The numbers are illustrative; check real spend in the dashboard. Separately, per Atlassian's documentation, calls through MCP consume Rovo credits from the organization's shared pool: see Atlassian's help for terms and thresholds.

To try it, create a key in the dashboard, connect Claude Code and add the server with the command above. More about the protocol itself in What is an MCP server and MCP servers in Claude Code.

FAQ

Do I need a separate paid Atlassian product for MCP?

Access terms and limits depend on your Atlassian plan and the admin's settings: check Atlassian's help and ask your site administrator. We do not quote prices for their products here.

Why does the server ask for an administrator?

Access is granted by permission group, and some groups (deletion, for example) are off by default. Without the admin's consent the corresponding tools are unavailable.

Can I connect Jira to an agent without Claude Code?

Yes. Atlassian's documentation lists other MCP-capable clients: editors, chat clients, command-line agents. The server address is the same; how you add it depends on the client.

The agent posted a comment in the wrong place. How do I undo it?

You can edit or delete the comment by hand in Jira. That is why it is better to keep writes behind confirmation and not give the agent deletion at all.

zukko

Pay 25×
less

for Claude Code & ChatGPT

One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.

Get API keyDocumentation

api.zukko.pro · fetch_*

MCP server for Jira: tasks and JQL from Claude Code · Zukko