{"_id":"@dsazz/mcp-jira","_rev":"7-519a291938f14736df6de41269c531c0","name":"@dsazz/mcp-jira","dist-tags":{"latest":"0.5.4"},"versions":{"0.4.0":{"name":"@dsazz/mcp-jira","version":"0.4.0","keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","_id":"@dsazz/mcp-jira@0.4.0","maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"homepage":"https://github.com/Dsazz/mcp-jira#readme","bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"bin":{"mcp-jira":"dist/index.js"},"dist":{"shasum":"5a822f125430acb9ae1219fb9afa6afe43945596","tarball":"https://registry.npmjs.org/@dsazz/mcp-jira/-/mcp-jira-0.4.0.tgz","fileCount":5,"integrity":"sha512-ZcAFM2EXcXDmy9NUJvRvKCcAuy8UylHXoZfghnzj8pNJHMJmJ/H7qI3w77XmIOSIFM7RpyD9l/QV+Q7PluSE7Q==","signatures":[{"sig":"MEYCIQCkyTkQKDqRKOWpgCopD38Zyqrd46QsXhYRUa7+fPgDzAIhAN+oivzhJqTnV6Pyg4nIbdaKA3bE7kKvr4PhYjNAKL1C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":392095},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"534ebc90dfa8eaf76d53ae0868254d006fb13c70","scripts":{"dev":"bun --watch src/index.ts","lint":"bunx biome lint ./src","build":"bun build src/index.ts --outdir dist --target node","check":"bunx biome check ./src","start":"node dist/index.js","format":"bunx biome format --write ./src","inspect":"bunx @modelcontextprotocol/inspector bun ./dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"repository":{"url":"git+https://github.com/Dsazz/mcp-jira.git","type":"git"},"_npmVersion":"10.9.0","description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"zod":"3.25.31","dotenv":"16.5.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.15","typescript":"^5.4.3","@types/node":"^20.11.28","@biomejs/biome":"^1.9.4","@modelcontextprotocol/inspector":"^0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-jira_0.4.0_1748849009524_0.10748014136373651","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@dsazz/mcp-jira","version":"0.4.1","keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","_id":"@dsazz/mcp-jira@0.4.1","maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"homepage":"https://github.com/Dsazz/mcp-jira#readme","bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"bin":{"mcp-jira":"dist/index.js"},"dist":{"shasum":"c8f2fdc6a3716cc08ba7e6b5d29b5750de450f9a","tarball":"https://registry.npmjs.org/@dsazz/mcp-jira/-/mcp-jira-0.4.1.tgz","fileCount":5,"integrity":"sha512-eAABp4YLdIroGp8UEcU80lSET5gxYIsIcgJZ7ldERQW5kkPOtejZ1z34c/f7edcsVy/LAFpayVG3KywTR2qoTw==","signatures":[{"sig":"MEUCIFcSClHk9nv+m70FX4Ce/1BJMhZCblyIFFdqhe0uxyLhAiEAosfyMSUxFDlHeRjJEOt6Um+PH/W2SmoAkkw1em+lXBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":393300},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"ccbbc365e1b001ad2e27373b363ef4a069c0b834","scripts":{"dev":"bun --watch src/index.ts","lint":"bunx biome lint ./src","build":"bun build src/index.ts --outdir dist --target node","check":"bunx biome check ./src","start":"node dist/index.js","format":"bunx biome format --write ./src","inspect":"bunx @modelcontextprotocol/inspector bun ./dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"repository":{"url":"git+https://github.com/Dsazz/mcp-jira.git","type":"git"},"_npmVersion":"10.9.0","description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"zod":"3.25.31","dotenv":"16.5.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.15","typescript":"^5.4.3","@types/node":"^20.11.28","@biomejs/biome":"^1.9.4","@modelcontextprotocol/inspector":"^0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-jira_0.4.1_1749037558949_0.31628028358616667","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@dsazz/mcp-jira","version":"0.5.0","keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","_id":"@dsazz/mcp-jira@0.5.0","maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"homepage":"https://github.com/Dsazz/mcp-jira#readme","bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"bin":{"mcp-jira":"dist/index.js"},"dist":{"shasum":"794c14fed01d2b00a4a5666a8b84848cfe1b3e9f","tarball":"https://registry.npmjs.org/@dsazz/mcp-jira/-/mcp-jira-0.5.0.tgz","fileCount":5,"integrity":"sha512-ljs5CdtLU9SDrQxhRR5YM/PgiBD3s6oLt7IOp/FiZzohcAdsMRpqvwAt/+TF06CIEm999KVo2hPheoJDJeITfA==","signatures":[{"sig":"MEUCIQC7ZwOPKSx9dioMvmkcWSG7039AdEQfTyT13QtWRAQ9rgIgLX8iC10CTSBD3z24PUhqUBKhLJ+EznUQg+k696klODk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465063},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"f24d3f534950debe29cb30d3614eb040021f5233","scripts":{"dev":"bun --watch src/index.ts","lint":"bunx biome lint ./src","build":"bun build src/index.ts --outdir dist --target node","check":"bunx biome check ./src","start":"node dist/index.js","format":"bunx biome format --write ./src","inspect":"bunx @modelcontextprotocol/inspector bun ./dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"repository":{"url":"git+https://github.com/Dsazz/mcp-jira.git","type":"git"},"_npmVersion":"10.9.0","description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"zod":"3.25.31","dotenv":"16.5.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.15","typescript":"^5.4.3","@types/node":"^20.11.28","@biomejs/biome":"^1.9.4","@modelcontextprotocol/inspector":"^0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-jira_0.5.0_1749081830863_0.3968335297829817","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@dsazz/mcp-jira","version":"0.5.1","keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","_id":"@dsazz/mcp-jira@0.5.1","maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"homepage":"https://github.com/Dsazz/mcp-jira#readme","bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"bin":{"mcp-jira":"dist/index.js"},"dist":{"shasum":"36ca08b1933f07b1a04da7961c7a7702f1091a90","tarball":"https://registry.npmjs.org/@dsazz/mcp-jira/-/mcp-jira-0.5.1.tgz","fileCount":5,"integrity":"sha512-Eq2RgPA7Ga6kjNnfFLDPjOYJeQeLwrxSA/zpIQ15k0bOIUXMihlhJ6hYB+kHBDAqis10iidNzvI4KR7APeKR5Q==","signatures":[{"sig":"MEUCIQCyD87t4VOftV3RPS0cvOG/uciL4u/Tu93ddwkmckbH1AIgN34n7mo4/FuRec2oEZubYUd1PtCBaWYIrNwwNfsAQ7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466490},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"c008cfc1eaa30ab88e056fb6e0112cbefd480ca9","scripts":{"dev":"bun --watch src/index.ts","lint":"bunx biome lint ./src","build":"bun build src/index.ts --outdir dist --target node","check":"bunx biome check ./src","start":"node dist/index.js","format":"bunx biome format --write ./src","inspect":"bunx @modelcontextprotocol/inspector bun ./dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"repository":{"url":"git+https://github.com/Dsazz/mcp-jira.git","type":"git"},"_npmVersion":"10.9.0","description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"zod":"3.25.31","dotenv":"16.5.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.15","typescript":"^5.4.3","@types/node":"^20.11.28","@biomejs/biome":"^1.9.4","@modelcontextprotocol/inspector":"^0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-jira_0.5.1_1749118385514_0.8139444762967265","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@dsazz/mcp-jira","version":"0.5.2","keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","_id":"@dsazz/mcp-jira@0.5.2","maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"homepage":"https://github.com/Dsazz/mcp-jira#readme","bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"bin":{"mcp-jira":"dist/index.js"},"dist":{"shasum":"a774f33da2938cdac87ac101b671733b54bf8529","tarball":"https://registry.npmjs.org/@dsazz/mcp-jira/-/mcp-jira-0.5.2.tgz","fileCount":5,"integrity":"sha512-Zb3sXbuRRAWWwwccIHQ6XRU2AjqrBf2IdGir38dV1qrW2CBhwCiHUFSmyxGp28hISaEjEV6eXmxMY1hnRlsbew==","signatures":[{"sig":"MEUCIDfgfC6x1OFM7TnjWQPcwIkbvqMD6MgND6Hsbqo8wsm+AiEAwjB0i3CW1/s+saSr6qoXVMhenBG31S4FMwLli2MqTws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468255},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"608f07a7599838af9263712fba36fe46aaec8f04","scripts":{"dev":"bun --watch src/index.ts","lint":"bunx biome lint ./src","test":"bun test","build":"bun build src/index.ts --outdir dist --target node","check":"bunx biome check ./src","start":"node dist/index.js","format":"bunx biome format --write ./src","inspect":"bunx @modelcontextprotocol/inspector bun ./dist/index.js","test:unit":"bun test src/test/unit src/test/helpers src/test/mocks src/test/utils","typecheck":"tsc --noEmit","prepublishOnly":"bun run build","test:integration":"bun test src/test/integration"},"_npmUser":{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"repository":{"url":"git+https://github.com/Dsazz/mcp-jira.git","type":"git"},"_npmVersion":"10.9.0","description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"zod":"3.25.31","dotenv":"16.5.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.15","typescript":"^5.4.3","@types/node":"^20.11.28","@biomejs/biome":"^1.9.4","@modelcontextprotocol/inspector":"^0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-jira_0.5.2_1749132347185_0.5231255684032012","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@dsazz/mcp-jira","version":"0.5.3","keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","_id":"@dsazz/mcp-jira@0.5.3","maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"homepage":"https://github.com/Dsazz/mcp-jira#readme","bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"bin":{"mcp-jira":"dist/index.js"},"dist":{"shasum":"46a0c9d55cd6aaf6362b1d07b6bf490b746cc2af","tarball":"https://registry.npmjs.org/@dsazz/mcp-jira/-/mcp-jira-0.5.3.tgz","fileCount":5,"integrity":"sha512-yLfIWLarRk2QyoiZPleGx/Vj+Db6Q08EOMttccY5frp0F2VnbGyy91FPIccgIsZmoOQeAuJD98UmUWXZ7uai0A==","signatures":[{"sig":"MEUCIB8bYLABjve9S5FSi/792+nwaHc9gElqVO8TXrelV6zIAiEAhwzNH7whZkJ7F2eqFa4+NE32++anZrbo2kCsCBM4IaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470093},"main":"dist/index.js","type":"module","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"27a1ba9126ba529bf881ec459c244e486ae05193","scripts":{"dev":"bun --watch src/index.ts","lint":"bunx biome lint ./src","test":"bun test","build":"bun build src/index.ts --outdir dist --target node","check":"bunx biome check ./src","start":"node dist/index.js","format":"bunx biome format --write ./src","inspect":"bunx @modelcontextprotocol/inspector bun ./dist/index.js","test:unit":"bun test src/test/unit src/test/helpers src/test/mocks src/test/utils","typecheck":"tsc --noEmit","prepublishOnly":"bun run build","test:integration":"bun test src/test/integration"},"_npmUser":{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"repository":{"url":"git+https://github.com/Dsazz/mcp-jira.git","type":"git"},"_npmVersion":"10.9.0","description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"zod":"3.25.31","dotenv":"16.5.0","@modelcontextprotocol/sdk":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"^1.2.15","typescript":"^5.4.3","@types/node":"^20.11.28","@biomejs/biome":"^1.9.4","@modelcontextprotocol/inspector":"^0.13.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-jira_0.5.3_1749137726063_0.5225392432942548","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@dsazz/mcp-jira","version":"0.5.4","description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","type":"module","main":"dist/index.js","bin":{"mcp-jira":"dist/index.js"},"scripts":{"dev":"bun --watch src/index.ts","build":"bun build src/index.ts --outdir dist --target=node","start":"node dist/index.js","prepublishOnly":"bun run build","format":"bunx biome format --write ./src","lint":"bunx biome lint ./src","check":"bunx biome check ./src","typecheck":"tsc --noEmit","inspect":"bunx @modelcontextprotocol/inspector bun ./dist/index.js","test":"bun test","test:unit":"bun test src/test/unit src/test/helpers src/test/mocks src/test/utils","test:integration":"bun test src/test/integration"},"keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Dsazz/mcp-jira.git"},"homepage":"https://github.com/Dsazz/mcp-jira#readme","bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","dotenv":"16.5.0","zod":"3.25.31"},"devDependencies":{"@biomejs/biome":"^1.9.4","@modelcontextprotocol/inspector":"^0.13.0","@types/bun":"^1.2.15","@types/node":"^20.11.28","typescript":"^5.4.3"},"engines":{"node":">=18.0.0","bun":">=1.0.0"},"_id":"@dsazz/mcp-jira@0.5.4","gitHead":"42e7c528b15fc18f0a26aea015b6d7cafe1295fd","_nodeVersion":"20.12.2","_npmVersion":"10.9.0","dist":{"integrity":"sha512-GUswFy8twdUy4x08tJs2jbarnSytKJ2bi3cftWyqwg+cPQigFpVUewsyGV8ZD1ttSwlKgR6VbtDxFWd5TpPF5Q==","shasum":"c8717a7750c207462ed192fae644ba95de919a4c","tarball":"https://registry.npmjs.org/@dsazz/mcp-jira/-/mcp-jira-0.5.4.tgz","fileCount":5,"unpackedSize":471138,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID8p6xfc1Xh5yWUkvIMdK2YLeNMDq6gS6bD/HHPMXraNAiEA1yvlJDohORLuYrS+FPRCrkd7pg1MZSwl29Hyf+rxYcg="}]},"_npmUser":{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"directories":{},"maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-jira_0.5.4_1752859792977_0.46934084821033917"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-02T07:23:29.476Z","modified":"2025-07-18T17:29:53.407Z","0.4.0":"2025-06-02T07:23:29.686Z","0.4.1":"2025-06-04T11:45:59.184Z","0.5.0":"2025-06-05T00:03:51.088Z","0.5.1":"2025-06-05T10:13:05.739Z","0.5.2":"2025-06-05T14:05:47.390Z","0.5.3":"2025-06-05T15:35:26.232Z","0.5.4":"2025-07-18T17:29:53.207Z"},"bugs":{"url":"https://github.com/Dsazz/mcp-jira/issues"},"author":{"name":"Stanislav Stepanenko","email":"dev.stanislav.stepanenko@gmail.com"},"license":"MIT","homepage":"https://github.com/Dsazz/mcp-jira#readme","keywords":["mcp","model-context-protocol","jira","atlassian","cursor","claude","typescript","bun","biome","server","integration","api","issues","project-management","agile","development"],"repository":{"type":"git","url":"git+https://github.com/Dsazz/mcp-jira.git"},"description":"A powerful Model Context Protocol (MCP) server for Atlassian JIRA integration. Access JIRA projects, manage issues, and streamline development workflows directly from any MCP-compatible editor or application.","maintainers":[{"name":"stanislav.stepanenko","email":"dev.stanislav.stepanenko@gmail.com"}],"readme":"<div align=\"center\">\n\n# 🎯 JIRA MCP Server\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![Bun](https://img.shields.io/badge/Bun-000000?style=for-the-badge&logo=bun&logoColor=white)](https://bun.sh/)\n[![JIRA](https://img.shields.io/badge/JIRA-0052CC?style=for-the-badge&logo=jira&logoColor=white)](https://www.atlassian.com/software/jira)\n[![MIT License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\n[![MCP](https://img.shields.io/badge/MCP-Model_Context_Protocol-blue?style=for-the-badge)](https://modelcontextprotocol.io)\n\n<p align=\"center\">\n  <b>A powerful Model Context Protocol (MCP) server that brings Atlassian JIRA integration directly to any editor or application that supports MCP</b>\n</p>\n\n</div>\n\n---\n\n## ✨ Features\n\n- 🎯 **Complete JIRA Integration Suite**\n\n  - **Issue Management**: Full CRUD operations for JIRA issues with comprehensive field support\n  - **Project & Board Discovery**: Browse projects, boards, and sprints with advanced filtering\n  - **Smart Search**: JQL and beginner-friendly search with rich formatting\n  - **Comment System**: Access and manage issue comments with progressive disclosure\n\n- 🏗️ **Enterprise-Grade Architecture** _(New in v0.5.0)_\n\n  - **Modular Design**: Feature-based architecture with clear separation of concerns\n  - **Robust HTTP Client**: Refactored with dedicated utility classes for reliability\n  - **Comprehensive Testing**: 822+ tests ensuring stability and reliability\n  - **Type Safety**: Full TypeScript strict mode with enhanced error handling\n\n- 🔍 **Powerful Search & Discovery**\n\n  - Search issues using JQL (JIRA Query Language) or beginner-friendly parameters\n  - Project, board, and sprint discovery with metadata and filtering\n  - Rich markdown formatting with issue previews and direct navigation links\n  - Advanced comment retrieval with author filtering and date ranges\n\n- 📝 **Advanced Issue Management**\n  - Create, update, and transition issues with comprehensive field support\n  - Time tracking, worklog management, and custom field support\n  - ADF (Atlassian Document Format) parsing for rich content display\n  - Array operations for labels, components, and versions\n\n## 🆕 What's New in v0.5.0\n\n### 🏗️ Major Architecture Overhaul\n\n- **Complete code reorganization** with modular, domain-driven architecture\n- **HTTP client refactoring** with dedicated utility classes for improved reliability\n- **Critical bug fix** for malformed JIRA API URLs that prevented proper communication\n\n### 🧪 Enhanced Testing & Quality\n\n- **95+ new tests** added for HTTP client utilities and edge cases\n- **822 total tests** ensuring comprehensive coverage and stability\n- **Zero linting warnings** with enhanced Biome integration\n\n### 🔧 Technical Improvements\n\n- **Enhanced error handling** with better classification and actionable messages\n- **Improved logging** with structured debug information and performance monitoring\n- **Type safety enhancements** with strict TypeScript checking throughout\n\n### 🚀 Performance & Reliability\n\n- **Optimized HTTP requests** with better connection management\n- **Enhanced error recovery** with improved retry logic and timeout handling\n- **Backward compatibility** maintained - seamless upgrade from v0.4.x\n\n## 🚀 Quick Start\n\n### Installation\n\nAdd this configuration to your MCP client:\n\n```json\n{\n  \"mcpServers\": {\n    \"JIRA Tools\": {\n      \"command\": \"bunx\",\n      \"args\": [\"-y\", \"@dsazz/mcp-jira@latest\"],\n      \"env\": {\n        \"JIRA_HOST\": \"https://your-domain.atlassian.net\",\n        \"JIRA_USERNAME\": \"your-email@example.com\",\n        \"JIRA_API_TOKEN\": \"your-jira-api-token\"\n      }\n    }\n  }\n}\n```\n\n### Development Setup\n\nFor local development and testing:\n\n```bash\n# Clone the repository\ngit clone https://github.com/Dsazz/mcp-jira.git\ncd mcp-jira\n\n# Install dependencies\nbun install\n\n# Set up environment variables\ncp .env.example .env\n# Edit .env with your JIRA credentials\n\n# Build the project\nbun run build\n\n# Test with MCP Inspector\nbun run inspect\n```\n\n### Configuration\n\nCreate a `.env` file with the following variables:\n\n```ini\nJIRA_HOST=https://your-instance.atlassian.net\nJIRA_USERNAME=your-email@example.com\nJIRA_API_TOKEN=your-jira-api-token-here\n```\n\n> **🔑 Important Note About JIRA API Tokens**\n>\n> - A JIRA API token can be generated at [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)\n> - Tokens may contain special characters, including the `=` sign\n> - Place the token on a single line in the `.env` file\n> - Do not add quotes around the token value\n> - Paste the token exactly as provided by Atlassian\n\n## 🧰 Available Tools\n\n### Core JIRA Tools\n\n| Tool                       | Description                                                       | Parameters                           | Returns                            |\n| -------------------------- | ----------------------------------------------------------------- | ------------------------------------ | ---------------------------------- |\n| `jira_get_assigned_issues` | Retrieves all issues assigned to you                              | None                                 | Markdown-formatted list of issues  |\n| `jira_get_issue`           | Gets detailed information about a specific issue                  | `issueKey`: Issue key (e.g., PD-312) | Markdown-formatted issue details   |\n| `jira_get_issue_comments`  | Retrieves comments for a specific issue with configurable options | See comment parameters below         | Markdown-formatted comments        |\n| `jira_create_issue`        | Create new JIRA issues with comprehensive field support           | See issue creation parameters        | Markdown-formatted creation result |\n| `jira_update_issue`        | Update existing issues with field changes and status transitions  | See issue update parameters          | Markdown-formatted update result   |\n| `jira_get_projects`        | Retrieve and browse JIRA projects with filtering options          | See project parameters               | Markdown-formatted project list    |\n| `jira_get_boards`          | Get JIRA boards (Scrum/Kanban) with advanced filtering            | See board parameters                 | Markdown-formatted board list      |\n| `jira_get_sprints`         | Retrieve sprint information for agile project management          | See sprint parameters                | Markdown-formatted sprint list     |\n| `jira_add_worklog`         | Add time tracking entries to issues                               | See worklog parameters below         | Markdown-formatted worklog result  |\n| `jira_get_worklogs`        | Retrieve worklog entries for issues with date filtering           | See worklog parameters below         | Markdown-formatted worklog list    |\n| `jira_update_worklog`      | Update existing worklog entries                                   | See worklog parameters below         | Markdown-formatted update result   |\n| `jira_delete_worklog`      | Delete worklog entries from issues                                | See worklog parameters below         | Markdown-formatted deletion result |\n| `jira_get_current_user`    | Get current authenticated user information                        | None                                 | Markdown-formatted user details    |\n| `search_jira_issues`       | Search JIRA issues with JQL or helper parameters                  | See search parameters below          | Markdown-formatted search results  |\n\n#### Issue Creation Parameters\n\nThe `jira_create_issue` tool supports comprehensive issue creation:\n\n**Required**:\n\n- `projectKey`: String - Project key (e.g., `\"PROJ\"`)\n- `issueType`: String - Issue type (e.g., `\"Task\"`, `\"Bug\"`, `\"Story\"`)\n- `summary`: String - Issue title/summary\n\n**Optional Fields**:\n\n- `description`: String - Detailed description (supports ADF format)\n- `priority`: String - Priority level (`\"Highest\"`, `\"High\"`, `\"Medium\"`, `\"Low\"`, `\"Lowest\"`)\n- `assignee`: String - Assignee username or email\n- `reporter`: String - Reporter username or email\n- `labels`: Array - Labels to apply to the issue\n- `components`: Array - Component names\n- `fixVersions`: Array - Fix version names\n- `affectsVersions`: Array - Affected version names\n- `timeEstimate`: String - Time estimate in JIRA format (e.g., `\"2h\"`, `\"1d 4h\"`)\n- `dueDate`: String - Due date in ISO format\n- `environment`: String - Environment description\n- `customFields`: Object - Custom field values\n\n**Examples**:\n\n```\n# Basic issue creation\njira_create_issue projectKey:\"PROJ\" issueType:\"Task\" summary:\"Fix login bug\"\n\n# Comprehensive issue with all fields\njira_create_issue projectKey:\"PROJ\" issueType:\"Bug\" summary:\"Critical login issue\" description:\"Users cannot log in\" priority:\"High\" assignee:\"john.doe\" labels:[\"urgent\",\"security\"] timeEstimate:\"4h\"\n```\n\n#### Issue Update Parameters\n\nThe `jira_update_issue` tool supports comprehensive issue updates:\n\n**Required**:\n\n- `issueKey`: String - Issue key (e.g., `\"PROJ-123\"`)\n\n**Field Updates** (any combination):\n\n- `summary`: String - Update issue title\n- `description`: String - Update description\n- `priority`: String - Change priority\n- `assignee`: String - Reassign issue\n- `reporter`: String - Change reporter\n- `timeEstimate`: String - Update time estimate\n- `timeSpent`: String - Log time spent\n- `dueDate`: String - Update due date\n- `environment`: String - Update environment\n\n**Array Operations** (add/remove/set):\n\n- `labels`: Object - Modify labels (`{operation: \"add|remove|set\", values: [\"label1\", \"label2\"]}`)\n- `components`: Object - Modify components\n- `fixVersions`: Object - Modify fix versions\n- `affectsVersions`: Object - Modify affected versions\n\n**Status Transitions**:\n\n- `status`: String - Transition to new status (e.g., `\"In Progress\"`, `\"Done\"`)\n\n**Worklog**:\n\n- `worklog`: Object - Add work log entry (`{timeSpent: \"2h\", comment: \"Fixed issue\"}`)\n\n**Examples**:\n\n```\n# Update basic fields\njira_update_issue issueKey:\"PROJ-123\" summary:\"Updated title\" priority:\"High\"\n\n# Add labels and transition status\njira_update_issue issueKey:\"PROJ-123\" labels:'{operation:\"add\",values:[\"urgent\"]}' status:\"In Progress\"\n\n# Log work and add comment\njira_update_issue issueKey:\"PROJ-123\" worklog:'{timeSpent:\"2h\",comment:\"Completed testing\"}'\n```\n\n#### Project Parameters\n\nThe `jira_get_projects` tool supports project discovery:\n\n**Optional Parameters**:\n\n- `maxResults`: Number (1-100, default: 50) - Limit number of results\n- `startAt`: Number (default: 0) - Pagination offset\n- `expand`: Array - Additional fields to include (`[\"description\", \"lead\", \"issueTypes\", \"url\", \"projectKeys\"]`)\n\n**Examples**:\n\n```\n# Get all projects\njira_get_projects\n\n# Get projects with additional details\njira_get_projects expand:[\"description\",\"lead\",\"issueTypes\"] maxResults:20\n```\n\n#### Board Parameters\n\nThe `jira_get_boards` tool supports board management:\n\n**Optional Parameters**:\n\n- `maxResults`: Number (1-100, default: 50) - Limit number of results\n- `startAt`: Number (default: 0) - Pagination offset\n- `type`: String - Board type (`\"scrum\"`, `\"kanban\"`)\n- `name`: String - Filter by board name\n- `projectKeyOrId`: String - Filter by project\n\n**Examples**:\n\n```\n# Get all boards\njira_get_boards\n\n# Get Scrum boards for specific project\njira_get_boards type:\"scrum\" projectKeyOrId:\"PROJ\"\n\n# Search boards by name\njira_get_boards name:\"Sprint Board\" maxResults:10\n```\n\n#### Sprint Parameters\n\nThe `jira_get_sprints` tool supports sprint management:\n\n**Required**:\n\n- `boardId`: Number - Board ID to get sprints from\n\n**Optional Parameters**:\n\n- `maxResults`: Number (1-100, default: 50) - Limit number of results\n- `startAt`: Number (default: 0) - Pagination offset\n- `state`: String - Sprint state (`\"active\"`, `\"closed\"`, `\"future\"`)\n\n**Examples**:\n\n```\n# Get all sprints for a board\njira_get_sprints boardId:123\n\n# Get only active sprints\njira_get_sprints boardId:123 state:\"active\"\n\n# Get sprints with pagination\njira_get_sprints boardId:123 maxResults:10 startAt:20\n```\n\n#### Worklog Parameters\n\nThe worklog tools support comprehensive time tracking:\n\n**`jira_add_worklog` Parameters**:\n\n**Required**:\n\n- `issueKey`: String - Issue key (e.g., `\"PROJ-123\"`)\n- `timeSpent`: String - Time spent in JIRA format (e.g., `\"2h\"`, `\"1d 4h\"`, `\"30m\"`)\n\n**Optional**:\n\n- `comment`: String - Comment describing the work done\n- `started`: String - When work started (ISO date format, defaults to now)\n- `visibility`: Object - Visibility settings (`{type: \"group\", value: \"jira-developers\"}`)\n\n**`jira_get_worklogs` Parameters**:\n\n**Required**:\n\n- `issueKey`: String - Issue key (e.g., `\"PROJ-123\"`)\n\n**Optional**:\n\n- `startedAfter`: String - Filter worklogs started after this date (ISO format)\n- `startedBefore`: String - Filter worklogs started before this date (ISO format)\n\n**`jira_update_worklog` Parameters**:\n\n**Required**:\n\n- `issueKey`: String - Issue key (e.g., `\"PROJ-123\"`)\n- `worklogId`: String - Worklog ID to update\n\n**Optional** (any combination):\n\n- `timeSpent`: String - Update time spent\n- `comment`: String - Update comment\n- `started`: String - Update start time\n\n**`jira_delete_worklog` Parameters**:\n\n**Required**:\n\n- `issueKey`: String - Issue key (e.g., `\"PROJ-123\"`)\n- `worklogId`: String - Worklog ID to delete\n\n**Examples**:\n\n```\n# Add worklog entry\njira_add_worklog issueKey:\"PROJ-123\" timeSpent:\"2h\" comment:\"Fixed authentication bug\"\n\n# Get all worklogs for an issue\njira_get_worklogs issueKey:\"PROJ-123\"\n\n# Get worklogs from last week\njira_get_worklogs issueKey:\"PROJ-123\" startedAfter:\"2025-05-29T00:00:00.000Z\"\n\n# Update worklog\njira_update_worklog issueKey:\"PROJ-123\" worklogId:\"12345\" timeSpent:\"3h\" comment:\"Updated work description\"\n\n# Delete worklog\njira_delete_worklog issueKey:\"PROJ-123\" worklogId:\"12345\"\n```\n\n#### Comment Parameters\n\nThe `jira_get_issue_comments` tool supports progressive disclosure with these parameters:\n\n**Required**:\n\n- `issueKey`: String - Issue key (e.g., `\"PROJ-123\"`)\n\n**Basic Options**:\n\n- `maxComments`: Number (1-100, default: 10) - Maximum number of comments to retrieve\n- `orderBy`: String (`\"created\"` or `\"updated\"`, default: `\"created\"`) - Sort order for comments\n\n**Advanced Options**:\n\n- `includeInternal`: Boolean (default: false) - Include internal/restricted comments\n- `authorFilter`: String - Filter comments by author name or email\n- `dateRange`: Object - Filter by date range:\n  - `from`: String (ISO date) - Start date\n  - `to`: String (ISO date) - End date\n\n**Examples**:\n\n```\n# Basic usage - get 10 most recent comments\njira_get_issue_comments PROJ-123\n\n# Get more comments with specific ordering\njira_get_issue_comments PROJ-123 maxComments:25 orderBy:\"updated\"\n\n# Advanced filtering\njira_get_issue_comments PROJ-123 authorFilter:\"john.doe\" includeInternal:true\n```\n\n#### Search Parameters\n\nThe `search_jira_issues` tool supports two modes:\n\n**Expert Mode (JQL)**:\n\n- `jql`: Direct JQL query string (e.g., `\"project = PROJ AND status = Open\"`)\n\n**Beginner Mode (Helper Parameters)**:\n\n- `assignedToMe`: Boolean - Show only issues assigned to current user\n- `project`: String - Filter by project key\n- `status`: String or Array - Filter by status(es) (e.g., `\"Open\"` or `[\"Open\", \"In Progress\"]`)\n- `text`: String - Search in summary and description fields\n\n**Common Options**:\n\n- `maxResults`: Number (1-50, default: 25) - Limit number of results\n- `fields`: Array - Specify which fields to retrieve (optional)\n\n## 🛠️ Development Tools\n\n### Code Quality Tools\n\nThe project uses [Biome](https://biomejs.dev/) for code formatting and linting, providing:\n\n- Fast, unified formatting and linting\n- TypeScript-first tooling\n- Zero configuration needed\n- Consistent code style enforcement\n\n```bash\n# Format code\nbun run format\n\n# Check code for issues\nbun run check\n\n# Type check\nbun run typecheck\n\n# Run tests\nbun test\n```\n\n### MCP Inspector\n\n<details>\n<summary>Click to expand MCP Inspector details</summary>\n\nThe MCP Inspector is a powerful tool for testing and debugging your MCP server.\n\n```bash\n# Run the inspector (no separate build step needed)\nbun run inspect\n```\n\nThe inspector automatically:\n\n- Loads environment variables from `.env`\n- Cleans up occupied ports (5175, 3002)\n- Builds the project when needed\n- Starts the MCP server with your configuration\n- Launches the inspector UI\n\nVisit the inspector at http://localhost:5175?proxyPort=3002\n\nIf you encounter port conflicts:\n\n```bash\nbun run cleanup-ports\n```\n\n#### Debugging with the Inspector\n\nThe inspector UI allows you to:\n\n- View all available MCP capabilities\n- Execute tools and examine responses\n- Analyze the JSON communication\n- Test with different parameters\n\nFor more details, see the [MCP Inspector GitHub repository](https://github.com/modelcontextprotocol/inspector).\n\n</details>\n\n### Integration with Claude Desktop\n\n<details>\n<summary>Click to expand Claude Desktop integration</summary>\n\nTest your MCP server directly with Claude:\n\n1. Build:\n\n   ```bash\n   bun run build  # You must build the project before running it\n   ```\n\n2. Configure Claude Desktop:\n\n   ```bash\n   nano ~/Library/Application\\ Support/Claude/claude_desktop_config.json\n   ```\n\n3. Add the MCP configuration:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"JIRA Tools\": {\n         \"command\": \"node\",\n         \"args\": [\"/absolute/path/to/your/project/dist/index.js\"],\n         \"env\": {\n           \"JIRA_USERNAME\": \"your-jira-username\",\n           \"JIRA_API_TOKEN\": \"your-jira-api-token\",\n           \"JIRA_HOST\": \"your-jira-host.atlassian.net\"\n         }\n       }\n     }\n   }\n   ```\n\n4. Restart Claude Desktop and test with:\n   ```\n   Show me my assigned JIRA issues.\n   ```\n\n</details>\n\n## 🔌 Integration with Cursor IDE\n\n> **⚠️ Important:** You must build the project with `bun run build` before integrating with Cursor IDE or Claude Desktop.\n\nAdd this MCP server to your Cursor IDE's MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"JIRA Tools\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/your/project/dist/index.js\"],\n      \"env\": {\n        \"JIRA_USERNAME\": \"your-jira-username\",\n        \"JIRA_API_TOKEN\": \"your-jira-api-token\",\n        \"JIRA_HOST\": \"your-jira-host.atlassian.net\"\n      }\n    }\n  }\n}\n```\n\n## 📁 Project Structure\n\n```\nsrc/\n├── core/                    # Core functionality and configurations\n│   ├── errors/             # Error handling utilities\n│   ├── logging/            # Logging infrastructure\n│   ├── responses/          # Response formatting\n│   ├── server/             # MCP server implementation\n│   ├── tools/              # Base tool interfaces\n│   └── utils/              # Core utilities\n├── features/               # Feature implementations\n│   └── jira/              # JIRA API integration\n│       ├── api/           # JIRA API client\n│       ├── formatters/    # Response formatters\n│       ├── tools/         # MCP tool implementations\n│       └── utils/         # JIRA-specific utilities\n└── test/                  # Test utilities and mocks\n    ├── mocks/             # Mock factories\n    └── utils/             # Test helpers\n```\n\n### NPM Scripts\n\n| Command             | Description                                        |\n| ------------------- | -------------------------------------------------- |\n| `bun dev`           | Run the server in development mode with hot reload |\n| `bun build`         | Build the project for production                   |\n| `bun start`         | Start the production server                        |\n| `bun format`        | Format code using Biome                            |\n| `bun lint`          | Lint code using Biome                              |\n| `bun check`         | Run Biome checks on code                           |\n| `bun typecheck`     | Run TypeScript type checking                       |\n| `bun test`          | Run tests                                          |\n| `bun inspect`       | Start the MCP Inspector for debugging              |\n| `bun cleanup-ports` | Clean up ports used by the development server      |\n\n## 📝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details on:\n\n- Development workflow\n- Branching strategy\n- Commit message format\n- Pull request process\n- Code style guidelines\n\n## 📘 Resources\n\n- [Model Context Protocol Documentation](https://modelcontextprotocol.io)\n- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)\n- [MCP Specification](https://spec.modelcontextprotocol.io/specification/)\n- [MCP Inspector](https://github.com/modelcontextprotocol/inspector)\n- [JIRA REST API Documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/)\n\n## 📄 License\n\n[MIT](LICENSE) © Stanislav Stepanenko\n\n---\n\n<div align=\"center\">\n  <sub>Built with ❤️ for a better developer experience</sub>\n</div>\n","readmeFilename":"README.md"}