{"_id":"@guhcostan/jira-mcp","_rev":"8-d932ed824aac04cdc437a63e25792e7e","name":"@guhcostan/jira-mcp","dist-tags":{"latest":"2.5.0"},"versions":{"2.0.0":{"name":"@guhcostan/jira-mcp","version":"2.0.0","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","_id":"@guhcostan/jira-mcp@2.0.0","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"homepage":"https://github.com/guhcostan/jira-mcp#readme","bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"bin":{"jira-mcp":"build/index.js"},"dist":{"shasum":"c989e1bc17b97b25e9509aa900f2be99dfb8c083","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.0.0.tgz","fileCount":7,"integrity":"sha512-4FD7nZK70u/qxIrwdfmKJYYJ9HtVzwHY3/+QwfP+sUFfmv5Btu90DxSOvMpySkDAT86Y9c+UHKgwEO9mp9KGIA==","signatures":[{"sig":"MEUCIF+10FlXiBS83XXAeZTHOlv8hJlAP0p39NvrtampCYmbAiEA727c5WMj9vzQUL2xjeq0fhItbjkVmoCLt4pbFmDcCNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94830},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"gitHead":"ce28a908d8c8fbbd6e4a21a08cd179c5ade06076","scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"repository":{"url":"git+https://github.com/guhcostan/jira-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"MCP server for Jira integration - allows AI assistants to interact with Jira via Model Context Protocol","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/jira-mcp_2.0.0_1759844563251_0.011898838151655378","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@guhcostan/jira-mcp","version":"2.0.1","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","_id":"@guhcostan/jira-mcp@2.0.1","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"homepage":"https://github.com/guhcostan/jira-mcp#readme","bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"bin":{"jira-mcp":"build/index.js"},"dist":{"shasum":"62adeccbb0bcd68fb2bd56ab43639fb64b700ab0","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.0.1.tgz","fileCount":7,"integrity":"sha512-bXmkxIRyCcMZKwR+H3VaaZ5FlwaqCi3ZmPdXpeER5JL+s/DsOjuAzLs9gn3N8imFifyIsaYrzTspBCbaWdWDbA==","signatures":[{"sig":"MEUCIEyII4g2t8dFeLrDdcftzWwFsiiEL628GKFzGcLa03HzAiEAwA7rjBcMq03tCVpU0Up0PvE0rhoXxN4J3/XW0zIfTZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94405},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"gitHead":"345836c5b1a184ed5c82dcfb63d443f5bd8aafb5","scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"repository":{"url":"git+https://github.com/guhcostan/jira-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"Complete MCP server for Jira integration with 32 tools - allows AI assistants to interact with Jira via Model Context Protocol","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/jira-mcp_2.0.1_1759844683012_0.36720278288659847","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@guhcostan/jira-mcp","version":"2.0.2","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","_id":"@guhcostan/jira-mcp@2.0.2","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"homepage":"https://github.com/guhcostan/jira-mcp#readme","bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"bin":{"jira-mcp":"build/index.js"},"dist":{"shasum":"96bec4e6e1f415bede77afe69cfac27da347616e","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.0.2.tgz","fileCount":7,"integrity":"sha512-rkTqRy2wY3bzTucd6ARX3UDSlpuh5mKscBGJhDDjamcGaHMTsidaa/DpKxwLxzPW8YIc/TwGmIEOHMsvSQz2nw==","signatures":[{"sig":"MEYCIQCqoylyxQu78d8jf1ArkQvhihvpqn9MWXw3a12gplV0UAIhAMl7cuy5QJ78vtQVnwzOa+ngC8WU3kdc0GFhoM2Qi8Wn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94721},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"gitHead":"f14829d80b3943e24292d5177778ea89a5516f36","scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"repository":{"url":"git+https://github.com/guhcostan/jira-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"Complete MCP server for Jira integration with 32 tools - allows AI assistants to interact with Jira via Model Context Protocol","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/jira-mcp_2.0.2_1759844812340_0.007127758280485619","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@guhcostan/jira-mcp","version":"2.0.3","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","_id":"@guhcostan/jira-mcp@2.0.3","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"homepage":"https://github.com/guhcostan/jira-mcp#readme","bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"bin":{"jira-mcp":"build/index.js"},"dist":{"shasum":"cf625919ff39757dca57ce88e825177c68994dca","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.0.3.tgz","fileCount":7,"integrity":"sha512-dOQSoCLu0+1H+FKSyg9+qsuxTQ3WYq2ZjCj0qAwHrbXcLD91e/1pMqdkCRPDdbS1dVPxItwrRAyhW0Dl/GhxOg==","signatures":[{"sig":"MEUCICaR9nGZAMxlc0GGVB2y0bEwn5QvI/kSlygXXWwh73wrAiEA4JZwdyruGZs6upOUbx7M9NuBZ5PfUQ+2IKkg2+IHM+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95502},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"gitHead":"5f4389d794ef67ebe170af0c06bb9fc48a3e6dc3","scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"repository":{"url":"git+https://github.com/guhcostan/jira-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"Complete MCP server for Jira integration with 32 tools - allows AI assistants to interact with Jira via Model Context Protocol","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/jira-mcp_2.0.3_1759844857364_0.10275118207202771","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@guhcostan/jira-mcp","version":"2.1.0","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","_id":"@guhcostan/jira-mcp@2.1.0","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"homepage":"https://github.com/guhcostan/jira-mcp#readme","bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"bin":{"jira-mcp":"build/index.js"},"dist":{"shasum":"4316461367f140fe8b8c061e37923a0be4aeef54","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.1.0.tgz","fileCount":7,"integrity":"sha512-Ee1mVibtOm/FL1JCWMUffqL7NcjHMZbzLx7JYHHmOawk1d+56Wxob5OF+LTJDey4p++QaN2HpPp3b+hUro4oyg==","signatures":[{"sig":"MEUCICH8epvle1eilHO0fH66BVHnHq+rDdIaZNZ9t3ezTi9cAiEA3X9opTUAJYf/lkHdXN3tfKJrmqzgnzz62DM65PU5VbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95549},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"gitHead":"60aef221683a0364230827aebda18808fefb9410","scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"repository":{"url":"git+https://github.com/guhcostan/jira-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"Complete MCP server for Jira integration with 32 tools - allows AI assistants to interact with Jira via Model Context Protocol","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/jira-mcp_2.1.0_1759844905861_0.6575600929269545","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@guhcostan/jira-mcp","version":"2.2.0","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","_id":"@guhcostan/jira-mcp@2.2.0","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"homepage":"https://github.com/guhcostan/jira-mcp#readme","bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"bin":{"jira-mcp":"build/index.js"},"dist":{"shasum":"3139053ee6e7f4365b087a8e6fbe814ac6f00d3e","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.2.0.tgz","fileCount":7,"integrity":"sha512-Jw90tK+aHyFJmGPdFlMkjHY5wVzRiUe17zHA0hhMYzGWgV4WIiSCPeVevCOniSB7vpv0O/URM2w2eT9h+sWSpQ==","signatures":[{"sig":"MEYCIQD3uSl6s808+AA/HO752SaAjGWLA5oR2R9upxhua+U3VAIhAPHIoU3SBxS4QGxv2HqUpA955v7ZGJBI/EpG3pyfHeS5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104938},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"gitHead":"4a2a0406ede338344b91fc8268dc2f9e43315882","scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"repository":{"url":"git+https://github.com/guhcostan/jira-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"Complete MCP server for Jira integration with 32 tools - allows AI assistants to interact with Jira via Model Context Protocol","directories":{},"_nodeVersion":"22.19.0","dependencies":{"dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/jira-mcp_2.2.0_1759845104740_0.2886464329686027","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@guhcostan/jira-mcp","version":"2.4.0","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","_id":"@guhcostan/jira-mcp@2.4.0","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"homepage":"https://github.com/guhcostan/jira-mcp#readme","bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"bin":{"jira-mcp":"build/index.js"},"dist":{"shasum":"22496ed0da83e90de545176f82d2f0f8e46dbafe","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.4.0.tgz","fileCount":7,"integrity":"sha512-ujd6qFccjgoUcTb8mHNfjYlQ6bGqaLtJwVyfB+YHy3+eb9OhJk6BEvcNAHUeyXc3M5V9RwrWE1pV7YScEO3Wow==","signatures":[{"sig":"MEYCIQD1UQT4io1n9BRzxx9GN7Oq4GZ/FPIN1+8ZPUaLO6XD8QIhAPSs/jLEhxUQeoHcnR95jjqiC7HLuq475/nQDNBmMuZo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105174},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18"},"gitHead":"c14336308117ba8ea9984fdc4864a0b3f3b88d8a","scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"repository":{"url":"git+https://github.com/guhcostan/jira-mcp.git","type":"git"},"_npmVersion":"10.9.3","description":"Complete MCP server for Jira integration with 32 tools - allows AI assistants to interact with Jira via Model Context Protocol","directories":{},"_nodeVersion":"22.19.0","dependencies":{"axios":"^1.12.2","dotenv":"^16.4.5","@modelcontextprotocol/sdk":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/jira-mcp_2.4.0_1759856263885_0.696834633873914","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@guhcostan/jira-mcp","version":"2.5.0","description":"Complete MCP server for Jira integration with 36 tools - allows AI assistants to interact with Jira via Model Context Protocol","type":"module","main":"./build/index.js","bin":{"jira-mcp":"build/index.js"},"scripts":{"build":"tsc && chmod +x build/index.js","watch":"tsc --watch","prepare":"npm run build","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/guhcostan/jira-mcp.git"},"bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"homepage":"https://github.com/guhcostan/jira-mcp#readme","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"author":{"name":"Gustavo Neves"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.0.4","axios":"^1.12.2","dotenv":"^16.4.5"},"devDependencies":{"@types/node":"^22.10.5","typescript":"^5.7.2"},"engines":{"node":">=18"},"_id":"@guhcostan/jira-mcp@2.5.0","gitHead":"937968d226db78ca9d6449658f4a7e3d0760e1f2","types":"./build/index.d.ts","_nodeVersion":"22.19.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-9M4PE79Yz8Bbx9WYQ5c022YzYHlT1CxAx+sLeJQ8OQZn8qIHvtDOGLdsWSwCPTvMenPhckga29fU+rd30Jd91A==","shasum":"87098cbe6429e2ba4e50328e8f42ab5bf54ac18c","tarball":"https://registry.npmjs.org/@guhcostan/jira-mcp/-/jira-mcp-2.5.0.tgz","fileCount":7,"unpackedSize":120917,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCSPirIXnU1bKuPvaJjIZXa0Hx/47qZful/RppkMjvtYQIhAJVZOW1wZhOqzBCX3rt0+X0vsMYclx3S91ip4BXbb2x9"}]},"_npmUser":{"name":"guhcostan","email":"guhcostan@gmail.com"},"directories":{},"maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jira-mcp_2.5.0_1760622296155_0.5149787296771109"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-07T13:42:43.172Z","modified":"2025-10-16T13:44:56.532Z","2.0.0":"2025-10-07T13:42:43.424Z","2.0.1":"2025-10-07T13:44:43.214Z","2.0.2":"2025-10-07T13:46:52.554Z","2.0.3":"2025-10-07T13:47:37.531Z","2.1.0":"2025-10-07T13:48:26.051Z","2.2.0":"2025-10-07T13:51:44.915Z","2.4.0":"2025-10-07T16:57:44.089Z","2.5.0":"2025-10-16T13:44:56.342Z"},"bugs":{"url":"https://github.com/guhcostan/jira-mcp/issues"},"author":{"name":"Gustavo Neves"},"license":"MIT","homepage":"https://github.com/guhcostan/jira-mcp#readme","keywords":["mcp","jira","model-context-protocol","ai","assistant","automation","atlassian","jira-api"],"repository":{"type":"git","url":"git+https://github.com/guhcostan/jira-mcp.git"},"description":"Complete MCP server for Jira integration with 36 tools - allows AI assistants to interact with Jira via Model Context Protocol","maintainers":[{"name":"guhcostan","email":"guhcostan@gmail.com"}],"readme":"# Jira MCP Server v2.5.0\n\nA complete MCP (Model Context Protocol) server for Jira integration, allowing AI assistants to interact with your Jira instance.\n\n## 🚀 Installation\n\n### Via npx (Recommended)\n\n```bash\nnpx @guhcostan/jira-mcp\n```\n\n### Via npm global\n\n```bash\nnpm install -g @guhcostan/jira-mcp\njira-mcp\n```\n\n### Local Development\n\n```bash\ngit clone https://github.com/guhcostan/jira-mcp.git\ncd jira-mcp\nnpm install\nnpm run build\n```\n\n## 🔧 Configuration\n\n### 1. Set up environment variables\n\nCreate a `.env` file in the project root:\n\n```env\nJIRA_URL=https://your-jira-instance.com\nJIRA_ACCESS_TOKEN=your-jira-access-token\n```\n\n**Note**: This server uses Jira **Access Token** with Bearer authentication (Jira Data Center/Server). For Jira Cloud, you may need to use Basic Auth.\n\n### 2. Configure in Claude Desktop or Cursor\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`  \n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"jira\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@guhcostan/jira-mcp\"],\n      \"env\": {\n        \"JIRA_URL\": \"https://your-jira-instance.com\",\n        \"JIRA_ACCESS_TOKEN\": \"your-jira-access-token\"\n      }\n    }\n  }\n}\n```\n\n**For local development**, use:\n\n```json\n{\n  \"mcpServers\": {\n    \"jira\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/your/jira-mcp/build/index.js\"],\n      \"env\": {\n        \"JIRA_URL\": \"https://your-jira-instance.com\",\n        \"JIRA_ACCESS_TOKEN\": \"your-jira-access-token\"\n      }\n    }\n  }\n}\n```\n\n### 3. Restart Claude Desktop / Cursor\n\nClose and reopen the application completely to load the MCP server.\n\n## 📚 Features\n\nThis MCP server provides **36 tools** to interact with Jira:\n\n### 📖 Read Operations (21 tools)\n\n#### Issues\n- `jira_get_issue` - Get issue details\n- `jira_search` - Search issues with JQL\n- `jira_get_project_issues` - Get project issues\n- `jira_batch_get_changelogs` - Batch get changelogs\n- `jira_download_attachments` - Get attachment info\n\n#### Projects\n- `jira_get_all_projects` - List all projects\n- `jira_get_project` - Get project details\n- `jira_get_project_versions` - Get project versions\n- `jira_search_projects` - Search projects by pattern\n\n#### Metrics & Analytics\n- `jira_get_issue_types` - List all issue types\n- `jira_get_metrics_summary` - Get consolidated metrics summary\n- `jira_get_metrics_by_project` - Get detailed metrics by project\n\n#### Other\n- `jira_get_worklog` - Get issue worklogs\n- `jira_get_transitions` - Get available transitions\n- `jira_search_fields` - Search Jira fields\n- `jira_get_agile_boards` - List agile boards\n- `jira_get_board_issues` - Get board issues\n- `jira_get_sprints_from_board` - Get board sprints\n- `jira_get_sprint_issues` - Get sprint issues\n- `jira_get_issue_link_types` - Get link types\n- `jira_get_user_profile` - Get user information\n\n### ✏️ Write Operations (15 tools)\n\n#### Issues\n- `jira_create_issue` - Create issue\n- `jira_batch_create_issues` - Create multiple issues\n- `jira_update_issue` - Update issue\n- `jira_delete_issue` - Delete issue\n- `jira_assign_issue` - Assign issue\n\n#### Other\n- `jira_add_comment` - Add comment\n- `jira_transition_issue` - Change status\n- `jira_add_worklog` - Add worklog\n- `jira_link_to_epic` - Link to epic\n- `jira_create_sprint` - Create sprint\n- `jira_update_sprint` - Update sprint\n- `jira_create_issue_link` - Create issue link\n- `jira_remove_issue_link` - Remove link\n- `jira_create_version` - Create version\n- `jira_batch_create_versions` - Create multiple versions\n\n## 💡 Usage Examples\n\n### Search Issues\n\n```javascript\n// In Claude/Cursor, just ask:\n\"Find the last 10 open issues in project ABC\"\n\"What are the critical bugs in the current sprint?\"\n```\n\n### Create Issue\n\n```javascript\n\"Create a Task issue in project XYZ with title 'Implement authentication'\"\n```\n\n### Manage Sprint\n\n```javascript\n\"List all active sprints from board 123\"\n\"Move issue ABC-456 to sprint 789\"\n```\n\n### Advanced JQL\n\n```javascript\n\"Search issues with JQL: project = DEV AND status = 'In Progress' AND assignee = currentUser()\"\n```\n\n### Generate Metrics Reports (New in v2.5.0!)\n\n```javascript\n// Search projects\n\"Find all projects that contain 'mobile' in the name\"\n\n// Get metrics summary\n\"Give me a summary of Tasks, Bugs, and Tech Debts for projects PROJ1, PROJ2, and PROJ3 created since 2024-10-01\"\n\n// Get detailed metrics by project\n\"Show me detailed metrics for each eLoyalty project, including Tasks, Bugs, and Tech Debts\"\n```\n\n## 🔍 Tool Reference\n\n### jira_get_issue\nGet details of a specific issue.\n\n**Parameters:**\n- `issueKey` (required): Issue key (e.g., PROJ-123)\n- `fields` (optional): Fields to return (e.g., \"summary,status,assignee\")\n- `expand` (optional): Expand fields (e.g., \"changelog,renderedFields\")\n\n### jira_search\nSearch issues using JQL.\n\n**Parameters:**\n- `jql` (required): JQL query (e.g., \"project = PROJ AND status = Open\")\n- `maxResults` (optional): Maximum number of results (default: 50)\n- `startAt` (optional): Starting index for pagination (default: 0)\n- `fields` (optional): Fields to return\n\n### jira_create_issue\nCreate a new issue.\n\n**Parameters:**\n- `project` (required): Project key\n- `summary` (required): Issue title\n- `issueType` (required): Type (Task, Bug, Story, etc)\n- `description` (optional): Description\n- `priority` (optional): Priority (High, Medium, Low)\n- `assignee` (optional): Assignee account ID\n- `labels` (optional): Array of labels\n- `parentKey` (optional): Parent issue key (for subtasks)\n\n### jira_transition_issue\nTransition an issue to another status.\n\n**Parameters:**\n- `issueKey` (required): Issue key\n- `transition` (required): Transition name or ID\n\n### jira_create_sprint\nCreate a new sprint.\n\n**Parameters:**\n- `boardId` (required): Board ID\n- `name` (required): Sprint name\n- `startDate` (optional): Start date (ISO 8601)\n- `endDate` (optional): End date (ISO 8601)\n- `goal` (optional): Sprint goal\n\n### jira_get_metrics_summary (New in v2.5.0)\nGet consolidated metrics summary across multiple projects.\n\n**Parameters:**\n- `projectKeys` (required): Array of project keys (e.g., [\"PROJ1\", \"PROJ2\"])\n- `issueTypes` (required): Array of issue type names (e.g., [\"Task\", \"Bug\"])\n- `createdSince` (optional): Filter by creation date (YYYY-MM-DD format)\n\n**Example:**\n```javascript\n\"Get metrics summary for projects ABC, DEF, and GHI showing Tasks and Bugs created since 2024-01-01\"\n```\n\n### jira_get_metrics_by_project (New in v2.5.0)\nGet detailed metrics breakdown by individual project.\n\n**Parameters:**\n- `projectKeys` (required): Array of project keys\n- `issueTypes` (required): Array of issue type names\n- `createdSince` (optional): Filter by creation date (YYYY-MM-DD format)\n\n**Example:**\n```javascript\n\"Show me detailed metrics for each project in the eLoyalty team\"\n```\n\n## 🔐 Authentication\n\n### Jira Data Center/Server (Access Token)\n\nThis server uses Jira Access Token with Bearer authentication by default, ideal for Jira Data Center/Server instances:\n\n```\nAuthorization: Bearer YOUR_ACCESS_TOKEN\n```\n\n### Jira Cloud (Basic Auth)\n\nIf you use Jira Cloud, you may need to modify the authentication to Basic Auth in the code.\n\n### How to get a Jira Access Token\n\n**Step-by-step guide:**\n\n1. **Open your Jira instance** (e.g., `https://your-jira-instance.com`)\n2. **Click on your profile picture** (top-right corner)\n3. **Select \"Profile\"** from the dropdown menu\n4. **Navigate to \"Personal Access Tokens\"** tab\n   - Or go directly to: `https://your-jira-instance.com/secure/ViewProfile.jspa?selectedTab=com.atlassian.pats.pats-plugin:jira-user-personal-access-tokens`\n5. **Click \"Create token\"**\n6. **Fill in the token details:**\n   - Name: Give it a meaningful name (e.g., \"MCP Server\")\n   - Expiration: Choose an expiration date or \"Never expire\" (if available)\n7. **Copy the token** immediately (you won't be able to see it again!)\n8. **Add the token** to your `.env` file as `JIRA_ACCESS_TOKEN`\n\n**Important Notes:**\n- Store the token securely\n- Don't commit the token to version control\n- If you lose the token, you'll need to generate a new one\n- The token inherits your user permissions\n\n## 🛠️ Development\n\n### Project Structure\n\n```\njira-mcp/\n├── src/\n│   └── index.ts          # Main MCP server\n├── build/                # Compiled files\n├── package.json\n├── tsconfig.json\n├── .env                  # Credentials (don't commit!)\n├── .gitignore\n└── README.md\n```\n\n### Available Scripts\n\n```bash\nnpm run build          # Compile TypeScript\nnpm run watch          # Compile in watch mode\nnpm run prepare        # Runs automatically on npm install\n```\n\n### Test Locally\n\n```bash\n# Compile\nnpm run build\n\n# Run directly\nnode build/index.js\n```\n\n## 📝 Important Notes\n\n- ✅ Supports Jira Data Center/Server with Access Token\n- ✅ 36 complete tools (21 read + 15 write)\n- ✅ JQL support for advanced searches\n- ✅ Batch operations for better performance\n- ✅ **Metrics & Analytics tools** for generating reports (v2.5.0)\n- ✅ **Connection validation** on startup - tools only appear if Jira is accessible\n- ✅ **Improved error handling** with helpful error messages and suggestions\n- ⚠️ Requires appropriate Jira permissions for each operation\n- ⚠️ Rate limiting is applied by Jira\n\n## 🐛 Troubleshooting\n\n### No tools appearing in Claude/Cursor\n\n**The server validates the connection on startup. If no tools appear, check the logs:**\n\n1. **Connection validation failed** - The server couldn't connect to Jira\n   - Check your `JIRA_URL` is correct\n   - Verify your `JIRA_ACCESS_TOKEN` is valid\n   - Ensure Jira is accessible from your network\n\n2. **Look at the server logs** for specific error messages:\n   - In Claude Desktop: Check the application logs\n   - The server will show: `✅ Connected to Jira as: [Your Name]` or `❌ Jira connection failed: [error]`\n\n### Error 401 - Unauthorized\n\n- Check if the access token is correct\n- Confirm you're using Bearer authentication with access token (not Basic Auth)\n- **Verify the token hasn't expired** - tokens can expire, generate a new one if needed\n- Ensure the token has the necessary permissions\n\n### Error 403 - Forbidden\n\n- Your token doesn't have permission for this operation\n- Check your Jira user permissions\n- Some operations require admin privileges\n\n### Error 404 - Not Found\n\n- The issue/project/resource doesn't exist\n- Check the issue key or project key is correct\n- Verify you have access to view the resource\n\n### Connection timeout or network errors\n\n- Check your network connection\n- Verify Jira server is accessible\n- Check if there's a firewall blocking the connection\n\n### Server doesn't appear in Claude/Cursor at all\n\n1. Check if the path in config is correct\n2. Restart the application completely\n3. Check Claude/Cursor logs for startup errors\n4. Verify Node.js is installed and accessible\n\n## 📄 License\n\nMIT\n\n## 👤 Author\n\nGustavo Neves\n\n## 🔗 Links\n\n- GitHub: https://github.com/guhcostan/jira-mcp\n- npm: https://www.npmjs.com/package/@guhcostan/jira-mcp\n- Issues: https://github.com/guhcostan/jira-mcp/issues\n\n## 🤝 Contributing\n\nContributions are welcome! Feel free to open issues or pull requests.\n\n1. Fork the project\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n","readmeFilename":"README.md"}