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:
claude mcp add --transport http atlassian https://mcp.atlassian.com/v2/mcpThen 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:
export ANTHROPIC_BASE_URL=https://api.zukko.pro
export ANTHROPIC_AUTH_TOKEN=fetch_your_key
export ANTHROPIC_MODEL=claude-sonnet-5-5The 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:
| Group | Example tools | What they do |
|---|---|---|
| read | getJiraIssue, listJiraIssueComments, listJiraIssueTransitions | read a task, comments, available status transitions |
| search | searchJiraIssuesUsingJql | search tasks with a JQL query |
| write | createJiraIssue, editJiraIssue, addOrEditJiraIssueComment, transitionJiraIssue | create and edit tasks, write comments, change status |
| delete | deleteJiraIssue and others | permanent 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:
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:
project = PAY AND status = "In Progress" AND assignee = currentUser() AND updated >= -7d ORDER BY updated DESCAnother 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:
- 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.
- Rules in Claude Code. Allow the safe things without prompts and deny the dangerous ones. MCP tool names are built as
mcp__<server>__<tool>:
{
"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.
- 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:
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.
- 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.
Related articles
- An AI agent for job hunting: a résumé tailored to the job and cover lettersWe build a small tool: you give a vacancy text and a file with your real experience, and get a tailored résumé, a letter and a list of gaps. No invented skills.
- Skills in Codex: what they are and how to write your ownA Codex skill is a folder with SKILL.md that the agent loads by description or on your call. Structure, a pytest example, and how it differs from plugins and hooks.
- Vibe coding for Bitrix24: apps and handlers built with an agentHow to hand an agent a Bitrix24 app or handler without getting invented methods: project rules, webhooks, pagination, tests and a session cost.
- MCP in Open WebUI: giving models access to external toolsOpen WebUI can connect MCP servers and hand their tools to models. We cover step-by-step setup, the limits, and what it does to token usage when you work through a gateway.