Jira Extended MCP Server
Provides tools for Jira issue management, including full CRUD, bulk operations, sprint and release management, issue linking, and rich text support using Jira wiki markup.
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 Extended MCP ServerShow me all high priority issues in the KAN project"
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.
Built by Moobean Team — a lightweight, Jira-only MCP server focused on getting things done with minimal setup.
What Makes This Different
Jira-only, zero bloat — No Confluence, no extra modules. One
uvxcommand and you're running.Wiki markup support — Uses Jira REST API v2, so
*bold*,h2. Title,* bulletjust work. No ADF JSON hassle.Bulk operations — Create up to 50 issues or transition multiple issues in a single call.
Full release lifecycle — Create, update, delete versions and assign issues to releases.
Issue links — Block, relate, duplicate, clone — with create, query, and delete support.
Related MCP server: Jira MCP Server
Comparison
Note: Feature data is based on each project's README and documentation as of March 2026. Features may have changed since then.
Jira Extended | ||||
Scope | Jira only | Jira + Confluence | Jira + Confluence + Compass | Jira only |
Issue CRUD | Read-only | Full CRUD | Full CRUD | Full CRUD |
Bulk Create | - | Supported | Supported | 50 issues/call |
Bulk Transition | - | - | - | Supported |
Parent / Sub-task | - | Supported | Supported | Supported |
fixVersions | - | Supported | Supported | Supported |
startDate / dueDate | - | Supported | Supported | Supported |
Issue Links | - | Supported | - | Supported |
Release Management | - | - | - | 4 tools |
Sprint Management | - | Supported | - | Supported |
Rich Text | - | Markdown → ADF | ADF | Wiki markup (v2 API) |
Setup | npm | pip / Docker | OAuth (cloud-hosted) |
|
Total Jira Tools | 2 | ~30 (Jira portion) | ~25 (Jira portion) | 27 |
Language | TypeScript | Python | Remote (SaaS) | Python |
Use Cases
Just ask your AI agent in natural language:
Issue Management
"Create an epic in the KAN project titled 'User Auth System', start date April 1st, due date April 30th"
"Create 5 stories under KAN-42: Login, Sign Up, Password Reset, Social Login, 2FA"
"Show me all 'In Progress' issues in the KAN project"
Bulk Operations
"Transition all 10 backlog issues in this sprint to 'Done'"
"Show me the issue list included in the v2.0 release"
Releases & Sprints
"Create a v2.1.0 release in KAN project with release date May 15th"
"Move KAN-50 and KAN-51 to the current active sprint"
Issue Links
"Link KAN-10 as blocking KAN-20"
Rich Text (Wiki Markup)
"Create an issue with h2 headings and bullet lists in the description"
Quick Start
Prerequisites
uv(Python package manager — installs Python automatically if needed)
Step 1: Install uv
uv is a Python package manager. If you don't have it:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Step 2: Get a Jira API Token
Go to https://id.atlassian.com/manage-profile/security/api-tokens
Click Create API token
Copy the token — you'll need it in the next step
Step 3: Configure your AI client
Choose where to add the config:
Scope | File | Effect |
Global (recommended) |
| Available in all projects |
Project only |
| Only in that project |
Easiest — one command:
# macOS / Linux
claude mcp add jira-extended -s user \
-e JIRA_URL=https://your-instance.atlassian.net \
-e JIRA_EMAIL=your-email@example.com \
-e JIRA_API_TOKEN=your-token \
-- uvx jira-extended-mcp
# Windows — use uvx.exe (not uvx) to avoid .cmd wrapper issues
claude mcp add jira-extended -s user \
-e JIRA_URL=https://your-instance.atlassian.net \
-e JIRA_EMAIL=your-email@example.com \
-e JIRA_API_TOKEN=your-token \
-- uvx.exe jira-extended-mcp
-s userinstalls globally. Omit it for project-only install.
Or edit the config file manually:
Open the file in a text editor:
# macOS / Linux
code ~/.claude.json # or: nano ~/.claude.json
# Windows
notepad %USERPROFILE%\.claude.jsonAdd this content (create the file if it doesn't exist):
{
"mcpServers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Windows users: Use
"command": "uvx.exe"instead of"command": "uvx". Theuvx.cmdwrapper on Windows breaks the MCP stdio transport.
Open the config file in a text editor:
# macOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
notepad %APPDATA%\Claude\claude_desktop_config.jsonAdd or merge into the file:
{
"mcpServers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}If the file already has other MCP servers, add the
"jira-extended": {...}block inside the existing"mcpServers"object.Windows users: Use
"command": "uvx.exe"instead of"command": "uvx".
Create .vscode/mcp.json in your project root:
mkdir -p .vscode
code .vscode/mcp.json{
"servers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Enable MCP: Settings > Chat > MCP must be checked. Works in Agent mode.
Windows users: Use
"command": "uvx.exe"instead of"command": "uvx".
Open the config file:
# macOS / Linux
code ~/.cursor/mcp.json
# Windows
notepad %USERPROFILE%\.cursor\mcp.json{
"mcpServers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Windows users: Use
"command": "uvx.exe"instead of"command": "uvx".
git clone https://github.com/moobean-team/jira-extended-mcp-server.git
cd jira-extended-mcp-server
uv pip install -e .Then use "command": "jira-extended-mcp" instead of "command": "uvx" in your config.
Step 4: Restart & verify
Restart your AI client, then ask:
"Show my Jira projects"
If you see your project list, you're all set.
Configuration
Environment Variables
Variable | Required | Default | Description |
| Yes | — | Jira Cloud instance URL |
| Yes | — | Atlassian account email |
| Yes | — | |
| No |
| Custom field ID for start date |
Finding Your Start Date Field ID
The start date field ID varies per Jira instance. Use the get_createmeta tool for your project to see available fields, or:
curl -s -u email:token https://your-instance.atlassian.net/rest/api/2/field \
| python -m json.tool | grep -i "start"Rich Text (Wiki Markup)
This server uses Jira REST API v2, which accepts Jira wiki markup strings for description and comment fields. Jira renders them as rich text automatically.
Syntax | Renders as |
| bold |
| italic |
| H2 heading |
| Bullet list |
| Numbered list |
| Code block |
| Hyperlink |
| Table |
Full reference: Jira Wiki Markup
Available Tools
Tool | Description |
| Create issue with full field support — parent, fixVersions, startDate, dueDate, story points, components, custom fields |
| Bulk create up to 50 issues in a single API call |
| Get issue details with formatted output |
| Update any issue field (only changed fields are sent) |
| Delete issue with subtask handling |
| JQL search with pagination and configurable fields |
Tool | Description |
| List available status transitions for an issue |
| Change issue status by name or ID, with optional comment |
| Transition multiple issues at once |
Tool | Description |
| Create link between issues (Blocks, Relates, Duplicate, Cloners) |
| Get all links for an issue with link type details |
| Remove a link by ID |
Tool | Description |
| List project versions/releases |
| Create a new release with start/release dates |
| Update release details, mark as released/archived |
| Delete a release with issue reassignment options |
Tool | Description |
| List sprints for a board (filter by active/future/closed) |
| Move issues to a target sprint |
Tool | Description |
| Add comment to an issue (supports wiki markup) |
| Get issue comments with author and timestamps |
| Log work time with human-friendly format ("2h 30m", "1d") |
Tool | Description |
| List all accessible projects |
| Get project details |
| List boards (scrum/kanban/simple) |
| Get authenticated user info |
| Search users by name/email |
| Get available issue types and fields per project |
Architecture
src/jira_extended_mcp/
├── server.py # FastMCP server + 27 tool definitions
├── client.py # Async Jira REST client (httpx + rate limit retry)
├── adf.py # ADF fallback helpers (v3 response parsing)
└── __init__.pyKey design decisions:
Decision | Why |
REST API v2 for issues/comments | v2 accepts wiki markup strings for rich text. v3 requires ADF JSON which strips formatting |
REST API v3 for metadata | Versions, projects, users don't have text fields — v3 is fine |
Agile API for sprints/boards | Sprint ops are only available via |
FastMCP lifespan |
|
Structured errors | Errors return |
Configurable start date field |
|
Development
git clone https://github.com/moobean-team/jira-extended-mcp-server.git
cd jira-extended-mcp-server
uv pip install -e .
# Run directly
jira-extended-mcp
# Or via module
python -m jira_extended_mcp.serverTroubleshooting
Ensure JIRA_URL, JIRA_EMAIL, and JIRA_API_TOKEN are set in your MCP config's env block. The server checks these on startup.
Jira transitions are workflow-specific. Use get_transitions first to see available transitions for the issue's current status. Transition names are case-insensitive.
Your Jira instance may use a different custom field ID. Use get_createmeta to find the correct field, then set JIRA_START_DATE_FIELD env var.
The server automatically retries up to 3 times using the Retry-After header. For bulk operations with 50+ issues, consider splitting into multiple calls.
This server uses Jira REST API v2 which accepts wiki markup. Use Jira wiki syntax (*bold*, h2. Title, * bullet) instead of Markdown.
License
MIT © Moobean Team
This server cannot be installed
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
- 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/Juhwan01/jira-extended-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server