Jira Enterprise MCP
This server connects to a Jira Enterprise instance via a Personal Access Token (PAT) and exposes a comprehensive set of tools for read and write operations on projects, issues, attachments, comments, worklogs, and more.
Test connectivity – Verify your PAT and retrieve the current user profile.
List projects – View all Jira projects accessible to your token.
Fetch issues – Look up an issue by key, including common fields and rendered metadata; optionally retrieve screenshot/image attachments as MCP image content.
Fetch attachments – Get attachment metadata and optionally download raw file bytes as base64; image attachments also include MCP image preview content.
Inspect creation metadata – View issue creation metadata for a project and issue type, with a fallback when
createmetais unavailable.Search issues – Run JQL queries to find issues, with configurable result limits.
Create issues – Create new issues with a summary, description, issue type, and project.
Update issues – Modify fields such as summary, description, assignee, and priority on existing issues.
List comments – Retrieve all comments on an issue in a simplified format.
Add comments – Post a new comment to an existing issue.
Manage transitions – List available workflow transitions for an issue or execute a specific transition by ID, optionally with a comment.
Upload attachments – Attach base64-encoded files to an issue, or upload a file and simultaneously post a comment referencing it (with optional inline image markup).
View linked issues – Fetch all issues linked to a given issue.
View & add worklogs – Retrieve worklog entries for an issue or log time spent with an optional comment and start timestamp.
Provides tools for interacting with Jira, enabling AI agents to manage issues, projects, comments, attachments, worklogs, and perform JQL searches programmatically.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jira Enterprise MCPfind issues assigned to me with priority High"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jira Enterprise MCP
Small MCP server for Codex that connects to enterprise Jira with a Jira personal access token.
What it does
Tests connectivity to Jira
Lists accessible Jira projects
Looks up a Jira issue by key
Looks up a Jira issue by key, including derived acceptance criteria when present in a custom field
Looks up a Jira issue by key and can return screenshot/image attachments as MCP image content, including derived acceptance criteria when present in a custom field
Fetches individual attachments and can return raw attachment bytes as base64, with image attachments also exposed as MCP image content
Inspects issue creation metadata for a project and issue type, with a fallback for tenants that do not expose
createmetaRuns JQL searches
Creates a Jira issue
Updates an existing issue
Lists issue comments
Lists or performs issue transitions
Uploads attachments to an issue
Uploads an attachment and posts a comment that references it, with optional inline image markup
Lists linked issues
Fetches and creates worklog entries
Adds a comment to an existing issue
Related MCP server: Work Integrations MCP
Requirements
Node.js 18+
A Jira PAT that works against your Jira instance
Network access to your Jira base URL
Setup
Install dependencies:
npm installCopy
.env.exampleto.envand fill in your values if you want a local template file:
cp .env.example .envExport the variables before launching the MCP server, or let your MCP host pass them in:
export JIRA_BASE_URL=https://your-jira.example.com
export JIRA_PAT=your-token
export JIRA_DEFAULT_PROJECT=YOURPROJECT
export JIRA_REQUEST_TIMEOUT_MS=30000
export JIRA_MAX_ATTACHMENT_BYTES=26214400Run locally
npm startNote: this server reads JIRA_BASE_URL, JIRA_PAT, and JIRA_DEFAULT_PROJECT from process.env. It does not load .env automatically, so .env.example is a template, not a runtime loader.
Project structure
src/index.jsstarts the stdio transport only.src/server.jsbuilds the MCP server and wires tool listing/call handlers.src/jira-client.jsowns Jira HTTP requests, auth headers, timeouts, attachment downloads, and uploads.src/tools/*-tools.jsco-locates each feature area's MCP tool schemas with its handlers.src/tools/registry.jscombines feature modules into the MCP tool list and dispatch table.src/config.js,src/validation.js,src/jira-formatters.js, andsrc/mcp-content.jskeep shared config, validation, serialization, and MCP response helpers isolated.
Recommended validation flow
Use this order when validating a new PAT against your Jira instance:
jira_test_connectionjira_list_projectsjira_get_create_metajira_get_issuejira_get_issue_with_imagesjira_get_attachmentjira_list_issue_commentsjira_transition_issuejira_update_issuejira_searchjira_create_issuejira_add_attachmentjira_add_comment_with_attachmentjira_get_issue_linksjira_get_worklogjira_add_worklogjira_add_comment
This matters because enterprise Jira tenants often allow reads before creates, and issue creation may require project-specific issue types or custom fields.
MCP host wiring
Codex
If you are using Codex locally, point an MCP entry at this server command:
{
"mcpServers": {
"jira-enterprise": {
"command": "node",
"args": ["/absolute/path/to/src/index.js"],
"env": {
"JIRA_BASE_URL": "https://your-jira.example.com",
"JIRA_PAT": "YOUR_PAT",
"JIRA_DEFAULT_PROJECT": "YOURPROJECT"
}
}
}
}If you prefer the Codex CLI helper, the shape should be equivalent to:
codex mcp add jira-enterprise --env JIRA_BASE_URL=https://your-jira.example.com --env JIRA_PAT=YOUR_PAT --env JIRA_DEFAULT_PROJECT=YOURPROJECT -- node /absolute/path/to/src/index.jsThe exact config location can vary by Codex app version, so use whichever local MCP configuration flow your Codex build exposes.
Claude
For Claude clients that support local MCP servers, use the equivalent mcpServers entry and pass the same environment variables:
{
"mcpServers": {
"jira-enterprise": {
"command": "node",
"args": ["/absolute/path/to/src/index.js"],
"env": {
"JIRA_BASE_URL": "https://your-jira.example.com",
"JIRA_PAT": "YOUR_PAT",
"JIRA_DEFAULT_PROJECT": "YOURPROJECT"
}
}
}
}If your Claude app exposes an MCP configuration file or settings UI, add the server there. The important part is that Claude launches node /absolute/path/to/src/index.js with those three env vars present.
Notes
This server uses
Authorization: Bearer <PAT>.JIRA_REQUEST_TIMEOUT_MSandJIRA_MAX_ATTACHMENT_BYTESare optional safety limits. Defaults are 30 seconds and 25 MiB.If your Jira instance accepts UI logins but rejects API calls, the PAT may not be enabled for your tenant or may require a different auth scheme.
If your Jira admins require custom CA certificates, you may need to trust that certificate at the OS or Node runtime level before this server can connect cleanly.
On some Jira tenants,
createmetamay return404 "Issue Does Not Exist". The MCP falls back to project issue types and workflow statuses so you can still discover valid issue types even when field-level create metadata is unavailable.
Tools
jira_test_connectionjira_list_projectsjira_get_issuejira_get_issue_with_imagesjira_get_attachmentjira_list_issue_commentsjira_transition_issuejira_update_issuejira_get_create_metajira_searchjira_create_issuejira_add_attachmentjira_add_comment_with_attachmentjira_get_issue_linksjira_get_worklogjira_add_worklogjira_add_comment
Attachment content behavior
jira_get_attachmentwithincludeContent: falsereturns attachment metadata only.jira_get_attachmentwithincludeContent: truereturns raw file bytes incontentBase64withcontentEncoding: "base64".For image attachments such as PNGs, the tool also includes MCP image preview content, but the downloadable bytes are always in
contentBase64.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/w-10-m/jira-enterprise-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server