How to connect to the Jira MCP with Claude Code (5 steps)

Engineers spend more time in Jira than they should while coding: looking up ticket details, checking acceptance criteria, logging bugs, updating issues’ statuses, and more.
Each visit to the browser breaks the flow of work happening in the terminal.
To help your developers search, create, and update Jira issues without leaving their coding session, we'll show you how to connect Jira with Merge Agent Handler's Jira MCP server.
How it works
Merge Agent Handler acts as a secure bridge between Claude Code and Jira's API. When you configure a Tool Pack and Registered User, Merge generates a unique MCP URL that Claude Code accesses via HTTP, combined with an API key for authentication.
Here's how the command looks before you add your specific MCP URL and API key:
Claude Code sends requests to that MCP URL, and Merge handles authentication and API calls to Jira on the backend. You don't manage Atlassian OAuth tokens locally. Merge handles token storage and refresh from here on.
Prerequisites
Before getting started, you'll need the following:
- A Merge Agent Handler account
- Claude Code installed
- A Jira account with access to the projects you want to connect
Related: A guide to integrating Claude Code with Snowflake's MCP
1. Create a Tool Pack
Log into Merge Agent Handler and navigate to Tool Packs. Click Create Tool Pack and give it a name tied to the use case, like Jira sprint agent.

Under connectors, select Jira and choose which tools to enable.

For most development workflows, enabling issue search, issue detail retrieval, and comment reading covers the common cases. Enable write tools if you want your agent to create bugs, update issue status, or log work directly.
Save the Tool Pack. You'll return here in step 4 to copy your MCP URL.
2. Add a Registered User
Inside your Tool Pack, create a Registered User. This is the identity context under which your agent operates.

Give it a name that maps to your environment, like dev-local or your own name. Once created, Merge generates a unique MCP URL scoped to this user.
Related: Every step for connecting the Datadog MCP with Claude Code
3. Authenticate Jira
From the Registered User detail page, click Add Connector and select Jira.
This kicks off a standard OAuth flow. Sign in with the Atlassian account that has access to the Jira projects you want Claude Code to reach, and grant the requested permissions.

Once the OAuth flow completes, Merge stores and manages the access token. You won't need to re-authenticate unless you revoke access.
4. Gather your credentials
You need two things before configuring Claude Code:
1. MCP URL: found on the Tool Pack detail page under the Registered User you just created. It looks like this:
2. API key: found in Settings > API Keys in your Merge Agent Handler dashboard. Create one if you don't have one yet.
Keep both handy for the next step.
5. Configure Claude Code with Jira
Run the following command in your terminal, substituting your actual MCP URL and API key:
Verify the connection registered: <code class="blog_inline-code">claude mcp list</code>
<code class="blog_inline-code">agent-handler</code> should appear in the output with a connected status.
To confirm the connector is accessible, open a Claude Code session and run a simple Jira command, like "List all projects." You should then see an output that looks something like the following:

{{this-blog-only-cta}}
Jira MCP FAQ
In case you have more questions on setting up and using the Jira MCP in Claude Code, we've addressed several more commonly-asked questions below.
What can you do once the Jira MCP is connected to Claude Code?
With Jira connected, Claude Code can:
- Search and retrieve issues: pull up bugs, stories, or tasks by project, assignee, sprint, or status without leaving the terminal
- Read issue detail: fetch the full description, acceptance criteria, comments, and attachments for any ticket
- List sprint contents: surface everything in the current sprint so you can prioritize before starting a coding session
- Create issues: log a new bug or task directly from Claude Code, pre-filled with context from your current work
- Update issue status: move a ticket through the workflow (in progress, in review, done) without opening a browser
- Add comments: post progress updates or questions to a ticket from the terminal
Why use Merge Agent Handler vs. a self-hosted Jira MCP server?
You can build a self-hosted MCP server that calls Jira's API directly. For a solo developer connecting to a single Jira workspace, that approach is straightforward enough.
It breaks down at the team level. Self-hosting means each developer manages their own Atlassian OAuth token, you have no central visibility into what agents are reading or writing in Jira, and you're responsible for keeping the server running as Jira's API evolves. Token rotation when someone offboards becomes a manual process.
Merge Agent Handler is a managed MCP layer.
It centralizes authentication, scopes access per Tool Pack and Registered User so each agent only touches the projects you explicitly allow, and logs every tool call. When you need to audit what an agent created or updated in Jira, the record is there. For teams building agents that interact with production project management data, Merge Agent Handler removes the per-developer credential problem and adds the observability that matters in shared environments.
Why connect Jira to Claude Code?
Jira is where engineering work is defined. Claude Code is where it gets done. The gap between those two tools is a constant source of friction: developers check the ticket for requirements, switch back to code, realize they have a question, switch back to Jira, and repeat.
With the Jira MCP connected, Claude Code can retrieve issue details, check sprint status, and create or update tickets without leaving the terminal. That means you can ask Claude to pull the acceptance criteria for the ticket you're working on, write the implementation, log a comment when you're done, and move the issue to review, all in a single session.
.png)


.png)
