{"_id":"@adilshaik/mcp-server-atlassian-jira","name":"@adilshaik/mcp-server-atlassian-jira","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@adilshaik/mcp-server-atlassian-jira","version":"1.0.0","description":"Node.js/TypeScript MCP server for Atlassian Jira. Equips AI systems (LLMs) with tools to list/get projects, search/get issues (using JQL/ID), and view dev info (commits, PRs). Connects AI capabilities directly into Jira project management and issue tracki","main":"dist/index.js","types":"dist/index.d.ts","type":"commonjs","bin":{"mcp-atlassian-jira":"dist/index.js"},"scripts":{"build":"tsc","prepare":"npm run build && node scripts/ensure-executable.js","postinstall":"node scripts/ensure-executable.js","clean":"rm -rf dist coverage","test":"jest","test:coverage":"jest --coverage","test:cli":"jest src/cli/.*\\.cli\\.test\\.ts --runInBand --testTimeout=60000","lint":"eslint src --ext .ts --config eslint.config.mjs","format":"prettier --write 'src/**/*.ts' 'scripts/**/*.js'","publish:npm":"npm publish","update:check":"npx npm-check-updates","update:deps":"npx npm-check-updates -u && npm install --legacy-peer-deps","update:version":"node scripts/update-version.js","mcp:stdio":"TRANSPORT_MODE=stdio npm run build && node dist/index.js","mcp:http":"TRANSPORT_MODE=http npm run build && node dist/index.js","mcp:inspect":"TRANSPORT_MODE=http npm run build && (node dist/index.js &) && sleep 2 && npx @modelcontextprotocol/inspector http://localhost:3000/mcp","dev:stdio":"npm run build && npx @modelcontextprotocol/inspector -e TRANSPORT_MODE=stdio -e DEBUG=true node dist/index.js","dev:http":"DEBUG=true TRANSPORT_MODE=http npm run build && node dist/index.js","dev:server":"DEBUG=true npm run build && npx @modelcontextprotocol/inspector -e DEBUG=true node dist/index.js","dev:cli":"DEBUG=true npm run build && DEBUG=true node dist/index.js","start:server":"npm run build && npx @modelcontextprotocol/inspector node dist/index.js","start:cli":"npm run build && node dist/index.js","cli":"npm run build && node dist/index.js"},"keywords":["mcp","typescript","claude","anthropic","ai","atlassian","jira","project-management","issue-tracking","server","model-context-protocol","tools","resources","tooling","ai-integration","mcp-server","llm","ai-connector","external-tools","cli","mcp-inspector"],"author":{"name":"Andi Ashari"},"license":"ISC","devDependencies":{"@eslint/js":"^9.39.1","@semantic-release/changelog":"^6.0.3","@semantic-release/exec":"^7.1.0","@semantic-release/git":"^10.0.1","@semantic-release/github":"^12.0.2","@semantic-release/npm":"^13.1.2","@types/cors":"^2.8.19","@types/express":"^5.0.5","@types/jest":"^30.0.0","@types/jmespath":"^0.15.2","@types/node":"^24.10.1","@types/turndown":"^5.0.6","@typescript-eslint/eslint-plugin":"^8.48.0","@typescript-eslint/parser":"^8.48.0","eslint":"^9.39.1","eslint-config-prettier":"^10.1.8","eslint-plugin-filenames":"^1.3.2","eslint-plugin-prettier":"^5.5.4","jest":"^30.2.0","node-fetch":"^3.3.2","nodemon":"^3.1.11","npm-check-updates":"^19.1.2","prettier":"^3.7.3","semantic-release":"^25.0.2","ts-jest":"^29.4.5","ts-node":"^10.9.2","typescript":"^5.9.3","typescript-eslint":"^8.48.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.23.0","@toon-format/toon":"^2.0.1","commander":"^14.0.2","cors":"^2.8.5","dotenv":"^17.2.3","express":"^5.1.0","jmespath":"^0.16.0","turndown":"^7.2.2","zod":"^4.1.13"},"directories":{"example":"examples"},"jest":{"preset":"ts-jest","testEnvironment":"node","setupFilesAfterEnv":["<rootDir>/src/utils/jest.setup.ts"],"testMatch":["**/src/**/*.test.ts"],"collectCoverageFrom":["src/**/*.ts","!src/**/*.test.ts","!src/**/*.spec.ts"],"coveragePathIgnorePatterns":["/node_modules/","/dist/","/coverage/"],"coverageReporters":["text","lcov","json-summary"],"transform":{"^.+\\.tsx?$":["ts-jest",{"useESM":true}]},"moduleNameMapper":{"(.*)\\.(js|jsx)$":"$1"},"extensionsToTreatAsEsm":[".ts"],"moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"engines":{"node":">=18.0.0"},"_id":"@adilshaik/mcp-server-atlassian-jira@1.0.0","gitHead":"aab8b7f2cc38282dfafd47947f4a936b82f31542","_nodeVersion":"22.23.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-iki1FBBvgTb6acuCwwFmuXKsrsVdqS0SllwkMkmy6cmAwLs4kdvlo77Jydaf2OqI1dBCDxkqMyD35DpwzIRJLA==","shasum":"b7c86452146a92db080bca34fba4c6a3749fcff9","tarball":"https://registry.npmjs.org/@adilshaik/mcp-server-atlassian-jira/-/mcp-server-atlassian-jira-1.0.0.tgz","fileCount":56,"unpackedSize":314033,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDxUop4xmihsyvbsrDyXBFnTW07CLUyKTnaZq5t1yUS3AiAlqrpjpjss5qnEXSqGYYLQzULH3jHZwdKbwpm0hpHVAQ=="}]},"_npmUser":{"name":"adilshaik","email":"adil.shaik@infor.com"},"maintainers":[{"name":"adilshaik","email":"adil.shaik@infor.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-atlassian-jira_1.0.0_1783607039737_0.4873320547518931"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-09T14:23:59.544Z","1.0.0":"2026-07-09T14:23:59.895Z","modified":"2026-07-09T14:24:00.127Z"},"maintainers":[{"name":"adilshaik","email":"adil.shaik@infor.com"}],"description":"Node.js/TypeScript MCP server for Atlassian Jira. Equips AI systems (LLMs) with tools to list/get projects, search/get issues (using JQL/ID), and view dev info (commits, PRs). Connects AI capabilities directly into Jira project management and issue tracki","keywords":["mcp","typescript","claude","anthropic","ai","atlassian","jira","project-management","issue-tracking","server","model-context-protocol","tools","resources","tooling","ai-integration","mcp-server","llm","ai-connector","external-tools","cli","mcp-inspector"],"author":{"name":"Andi Ashari"},"license":"ISC","readme":"# Connect AI to Your Jira Projects\r\n\r\nTransform how you manage and track your work by connecting Claude, Cursor AI, and other AI assistants directly to your Jira projects, issues, and workflows. Get instant project insights, streamline issue management, and enhance your team collaboration.\r\n\r\n[![NPM Version](https://img.shields.io/npm/v/@aashari/mcp-server-atlassian-jira)](https://www.npmjs.com/package/@aashari/mcp-server-atlassian-jira)\r\n\r\n## What You Can Do\r\n\r\n- **Ask AI about your projects**: \"What are the active issues in the DEV project?\"\r\n- **Get issue insights**: \"Show me details about PROJ-123 including comments\"\r\n- **Track project progress**: \"List all high priority issues assigned to me\"\r\n- **Manage issue comments**: \"Add a comment to PROJ-456 about the test results\"\r\n- **Search across projects**: \"Find all bugs in progress across my projects\"\r\n- **Create and update issues**: \"Create a new bug in the MOBILE project\"\r\n\r\n## Perfect For\r\n\r\n- **Developers** who need quick access to issue details and development context\r\n- **Project Managers** tracking progress, priorities, and team assignments\r\n- **Scrum Masters** managing sprints and workflow states\r\n- **Team Leads** monitoring project health and issue resolution\r\n- **QA Engineers** tracking bugs and testing status\r\n- **Anyone** who wants to interact with Jira using natural language\r\n\r\n## Quick Start\r\n\r\nGet up and running in 2 minutes:\r\n\r\n### 1. Get Your Jira Credentials\r\n\r\nGenerate a Jira API Token:\r\n1. Go to [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)\r\n2. Click **Create API token**\r\n3. Give it a name like **\"AI Assistant\"**\r\n4. **Copy the generated token** immediately (you won't see it again!)\r\n\r\n### 2. Try It Instantly\r\n\r\n```bash\r\n# Set your credentials\r\nexport ATLASSIAN_SITE_NAME=\"your-company\"  # for your-company.atlassian.net\r\nexport ATLASSIAN_USER_EMAIL=\"your.email@company.com\"\r\nexport ATLASSIAN_API_TOKEN=\"your_api_token\"\r\n\r\n# List your Jira projects\r\nnpx -y @aashari/mcp-server-atlassian-jira get --path \"/rest/api/3/project/search\"\r\n\r\n# Get details about a specific project\r\nnpx -y @aashari/mcp-server-atlassian-jira get --path \"/rest/api/3/project/DEV\"\r\n\r\n# Get an issue with JMESPath filtering\r\nnpx -y @aashari/mcp-server-atlassian-jira get --path \"/rest/api/3/issue/PROJ-123\" --jq \"{key: key, summary: fields.summary, status: fields.status.name}\"\r\n```\r\n\r\n## Connect to AI Assistants\r\n\r\n### For Claude Desktop Users\r\n\r\nAdd this to your Claude configuration file (`~/.claude/claude_desktop_config.json`):\r\n\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"jira\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aashari/mcp-server-atlassian-jira\"],\r\n      \"env\": {\r\n        \"ATLASSIAN_SITE_NAME\": \"your-company\",\r\n        \"ATLASSIAN_USER_EMAIL\": \"your.email@company.com\",\r\n        \"ATLASSIAN_API_TOKEN\": \"your_api_token\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nRestart Claude Desktop, and you'll see the jira server in the status bar.\r\n\r\n### For Other AI Assistants\r\n\r\nMost AI assistants support MCP. Install the server globally:\r\n\r\n```bash\r\nnpm install -g @aashari/mcp-server-atlassian-jira\r\n```\r\n\r\nThen configure your AI assistant to use the MCP server with STDIO transport.\r\n\r\n### Alternative: Configuration File\r\n\r\nCreate `~/.mcp/configs.json` for system-wide configuration:\r\n\r\n```json\r\n{\r\n  \"jira\": {\r\n    \"environments\": {\r\n      \"ATLASSIAN_SITE_NAME\": \"your-company\",\r\n      \"ATLASSIAN_USER_EMAIL\": \"your.email@company.com\",\r\n      \"ATLASSIAN_API_TOKEN\": \"your_api_token\"\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n**Alternative config keys:** The system also accepts `\"atlassian-jira\"`, `\"@aashari/mcp-server-atlassian-jira\"`, or `\"mcp-server-atlassian-jira\"` instead of `\"jira\"`.\r\n\r\n## Available Tools\r\n\r\nThis MCP server provides 5 generic tools that can access any Jira API endpoint:\r\n\r\n| Tool | Description |\r\n|------|-------------|\r\n| `jira_get` | GET any Jira API endpoint (read data) |\r\n| `jira_post` | POST to any endpoint (create resources) |\r\n| `jira_put` | PUT to any endpoint (replace resources) |\r\n| `jira_patch` | PATCH any endpoint (partial updates) |\r\n| `jira_delete` | DELETE any endpoint (remove resources) |\r\n\r\n### Common API Paths\r\n\r\n**Projects:**\r\n- `/rest/api/3/project/search` - List all projects (paginated, recommended)\r\n- `/rest/api/3/project` - List all projects (non-paginated, legacy)\r\n- `/rest/api/3/project/{projectKeyOrId}` - Get project details\r\n\r\n**Issues:**\r\n- `/rest/api/3/search/jql` - Search issues with JQL (use `jql` query param). **IMPORTANT:** `/rest/api/3/search` is deprecated!\r\n- `/rest/api/3/issue/{issueIdOrKey}` - Get issue details\r\n- `/rest/api/3/issue` - Create issue (POST)\r\n- `/rest/api/3/issue/{issueIdOrKey}/transitions` - Get/perform transitions\r\n\r\n**Comments:**\r\n- `/rest/api/3/issue/{issueIdOrKey}/comment` - List/add comments\r\n- `/rest/api/3/issue/{issueIdOrKey}/comment/{commentId}` - Get/update/delete comment\r\n\r\n**Worklogs:**\r\n- `/rest/api/3/issue/{issueIdOrKey}/worklog` - List/add worklogs\r\n- `/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}` - Get/update/delete worklog\r\n\r\n**Users & Statuses:**\r\n- `/rest/api/3/myself` - Get current user\r\n- `/rest/api/3/user/search` - Search users (use `query` param)\r\n- `/rest/api/3/status` - List all statuses\r\n- `/rest/api/3/issuetype` - List issue types\r\n- `/rest/api/3/priority` - List priorities\r\n\r\n### TOON Output Format\r\n\r\nBy default, all responses use **TOON (Token-Oriented Object Notation)** format, which reduces token usage by 30-60% compared to JSON. TOON uses tabular arrays and minimal syntax, making it ideal for AI consumption.\r\n\r\n**To use JSON instead:** Add `--output-format json` to CLI commands or set `outputFormat: \"json\"` in MCP tool calls.\r\n\r\n**Example TOON vs JSON:**\r\n```\r\nTOON: key|summary|status\r\n      PROJ-1|First issue|Open\r\n      PROJ-2|Second issue|Done\r\n\r\nJSON: [{\"key\":\"PROJ-1\",\"summary\":\"First issue\",\"status\":\"Open\"},\r\n       {\"key\":\"PROJ-2\",\"summary\":\"Second issue\",\"status\":\"Done\"}]\r\n```\r\n\r\n### JMESPath Filtering\r\n\r\nAll tools support optional JMESPath (`jq`) filtering to extract specific data:\r\n\r\n```bash\r\n# Get just project names and keys\r\nnpx -y @aashari/mcp-server-atlassian-jira get \\\r\n  --path \"/rest/api/3/project/search\" \\\r\n  --jq \"values[].{key: key, name: name}\"\r\n\r\n# Get issue key and summary\r\nnpx -y @aashari/mcp-server-atlassian-jira get \\\r\n  --path \"/rest/api/3/issue/PROJ-123\" \\\r\n  --jq \"{key: key, summary: fields.summary, status: fields.status.name}\"\r\n```\r\n\r\n### Response Truncation and Raw Logs\r\n\r\nFor large API responses (>40k characters ≈ 10k tokens), responses are automatically truncated with guidance. The complete raw response is saved to `/tmp/mcp/mcp-server-atlassian-jira/<timestamp>-<random>.txt` for reference.\r\n\r\n**When truncated, you'll see:**\r\n- A truncation notice with the raw file path\r\n- Suggestions to refine your query with better filters\r\n- Percentage of data shown vs total size\r\n\r\n## Real-World Examples\r\n\r\n### Explore Your Projects\r\n\r\nAsk your AI assistant:\r\n- *\"List all projects I have access to\"*\r\n- *\"Show me details about the DEV project\"*\r\n- *\"What projects contain the word 'Platform'?\"*\r\n\r\n### Search and Track Issues\r\n\r\nAsk your AI assistant:\r\n- *\"Find all high priority issues in the DEV project\"*\r\n- *\"Show me issues assigned to me that are in progress\"*\r\n- *\"Search for bugs reported in the last week\"*\r\n- *\"List all open issues for the mobile team\"*\r\n\r\n### Manage Issue Details\r\n\r\nAsk your AI assistant:\r\n- *\"Get full details about issue PROJ-456 including comments\"*\r\n- *\"What's the current status and assignee of PROJ-123?\"*\r\n- *\"Display all comments on the authentication bug\"*\r\n\r\n### Issue Communication\r\n\r\nAsk your AI assistant:\r\n- *\"Add a comment to PROJ-456: 'Code review completed, ready for testing'\"*\r\n- *\"Comment on the login issue that it's been deployed to staging\"*\r\n\r\n## CLI Commands\r\n\r\nThe CLI mirrors the MCP tools for direct terminal access:\r\n\r\n```bash\r\n# GET request (returns TOON format by default)\r\nnpx -y @aashari/mcp-server-atlassian-jira get --path \"/rest/api/3/project/search\"\r\n\r\n# GET with query parameters and JSON output\r\nnpx -y @aashari/mcp-server-atlassian-jira get \\\r\n  --path \"/rest/api/3/search/jql\" \\\r\n  --query-params '{\"jql\": \"project=DEV AND status=\\\"In Progress\\\"\", \"maxResults\": \"10\"}' \\\r\n  --output-format json\r\n\r\n# GET with JMESPath filtering to extract specific fields\r\nnpx -y @aashari/mcp-server-atlassian-jira get \\\r\n  --path \"/rest/api/3/issue/PROJ-123\" \\\r\n  --jq \"{key: key, summary: fields.summary, status: fields.status.name}\"\r\n\r\n# POST request (create an issue)\r\nnpx -y @aashari/mcp-server-atlassian-jira post \\\r\n  --path \"/rest/api/3/issue\" \\\r\n  --body '{\"fields\": {\"project\": {\"key\": \"DEV\"}, \"summary\": \"New issue title\", \"issuetype\": {\"name\": \"Task\"}}}'\r\n\r\n# POST request (add a comment)\r\nnpx -y @aashari/mcp-server-atlassian-jira post \\\r\n  --path \"/rest/api/3/issue/PROJ-123/comment\" \\\r\n  --body '{\"body\": {\"type\": \"doc\", \"version\": 1, \"content\": [{\"type\": \"paragraph\", \"content\": [{\"type\": \"text\", \"text\": \"My comment\"}]}]}}'\r\n\r\n# PUT request (update issue - full replacement)\r\nnpx -y @aashari/mcp-server-atlassian-jira put \\\r\n  --path \"/rest/api/3/issue/PROJ-123\" \\\r\n  --body '{\"fields\": {\"summary\": \"Updated title\"}}'\r\n\r\n# PATCH request (partial update)\r\nnpx -y @aashari/mcp-server-atlassian-jira patch \\\r\n  --path \"/rest/api/3/issue/PROJ-123\" \\\r\n  --body '{\"fields\": {\"summary\": \"Updated title\"}}'\r\n\r\n# DELETE request\r\nnpx -y @aashari/mcp-server-atlassian-jira delete \\\r\n  --path \"/rest/api/3/issue/PROJ-123/comment/12345\"\r\n```\r\n\r\n**Note:** All CLI commands support:\r\n- `--output-format` - Choose between `toon` (default, token-efficient) or `json`\r\n- `--jq` - Filter response with JMESPath expressions\r\n- `--query-params` - Pass query parameters as JSON string\r\n\r\n## Troubleshooting\r\n\r\n### \"Authentication failed\" or \"403 Forbidden\"\r\n\r\n1. **Check your API Token permissions**:\r\n   - Go to [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens)\r\n   - Make sure your token is still active and hasn't expired\r\n\r\n2. **Verify your site name format**:\r\n   - If your Jira URL is `https://mycompany.atlassian.net`\r\n   - Your site name should be just `mycompany`\r\n\r\n3. **Test your credentials**:\r\n   ```bash\r\n   npx -y @aashari/mcp-server-atlassian-jira get --path \"/rest/api/3/myself\"\r\n   ```\r\n\r\n### \"Resource not found\" or \"404\"\r\n\r\n1. **Check the API path**:\r\n   - Paths are case-sensitive\r\n   - Use project keys (e.g., `DEV`) not project names\r\n   - Issue keys include the project prefix (e.g., `DEV-123`)\r\n\r\n2. **Verify access permissions**:\r\n   - Make sure you have access to the project in your browser\r\n   - Some projects may be restricted to certain users\r\n\r\n### \"No results found\" when searching\r\n\r\n1. **Try different search terms**:\r\n   - Use project keys instead of project names\r\n   - Try broader search criteria\r\n\r\n2. **Check JQL syntax**:\r\n   - Validate your JQL in Jira's advanced search first\r\n\r\n### Claude Desktop Integration Issues\r\n\r\n1. **Restart Claude Desktop** after updating the config file\r\n2. **Verify config file location**:\r\n   - macOS: `~/.claude/claude_desktop_config.json`\r\n   - Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\r\n\r\n### Getting Help\r\n\r\nIf you're still having issues:\r\n1. Run a simple test command to verify everything works\r\n2. Check the [GitHub Issues](https://github.com/aashari/mcp-server-atlassian-jira/issues) for similar problems\r\n3. Create a new issue with your error message and setup details\r\n\r\n## Frequently Asked Questions\r\n\r\n### What permissions do I need?\r\n\r\nYour Atlassian account needs:\r\n- **Access to Jira** with the appropriate permissions for the projects you want to query\r\n- **API token** with appropriate permissions (automatically granted when you create one)\r\n\r\n### Can I use this with Jira Server (on-premise)?\r\n\r\nCurrently, this tool only supports **Jira Cloud**. Jira Server/Data Center support may be added in future versions.\r\n\r\n### How do I find my site name?\r\n\r\nYour site name is the first part of your Jira URL:\r\n- URL: `https://mycompany.atlassian.net` -> Site name: `mycompany`\r\n- URL: `https://acme-corp.atlassian.net` -> Site name: `acme-corp`\r\n\r\n### What AI assistants does this work with?\r\n\r\nAny AI assistant that supports the Model Context Protocol (MCP):\r\n- Claude Desktop\r\n- Cursor AI\r\n- Continue.dev\r\n- Many others\r\n\r\n### Is my data secure?\r\n\r\nYes! This tool:\r\n- Runs entirely on your local machine\r\n- Uses your own Jira credentials\r\n- Never sends your data to third parties\r\n- Only accesses what you give it permission to access\r\n\r\n### Can I search across multiple projects?\r\n\r\nYes! Use JQL queries for cross-project searches. For example:\r\n```bash\r\nnpx -y @aashari/mcp-server-atlassian-jira get \\\r\n  --path \"/rest/api/3/search/jql\" \\\r\n  --query-params '{\"jql\": \"assignee=currentUser() AND status=\\\"In Progress\\\"\"}'\r\n```\r\n\r\n## Technical Details\r\n\r\n### Recent Updates\r\n\r\n**Version 3.2.1** (December 2025):\r\n- Added TOON output format for 30-60% token reduction\r\n- Implemented automatic response truncation for large payloads (>40k chars)\r\n- Raw API responses saved to `/tmp/mcp/mcp-server-atlassian-jira/` for reference\r\n- Updated to MCP SDK v1.23.0 with modern `registerTool` API\r\n- Fixed deprecated `/rest/api/3/search` endpoint (now use `/rest/api/3/search/jql`)\r\n- Updated all dependencies to latest versions (Zod v4.1.13, Commander v14.0.2)\r\n\r\n### Requirements\r\n\r\n- **Node.js**: 18.0.0 or higher\r\n- **MCP SDK**: v1.23.0 (uses modern registration APIs)\r\n- **Jira**: Cloud only (Server/Data Center not supported)\r\n\r\n### Architecture\r\n\r\nThis server follows the 5-layer MCP architecture:\r\n1. **CLI Layer** - Human interface using Commander.js\r\n2. **Tools Layer** - AI interface with Zod validation\r\n3. **Controllers Layer** - Business logic and orchestration\r\n4. **Services Layer** - Direct Jira REST API calls\r\n5. **Utils Layer** - Cross-cutting concerns (logging, formatting, transport)\r\n\r\n### Debugging\r\n\r\nEnable debug logging by setting the `DEBUG` environment variable:\r\n\r\n```bash\r\n# In Claude Desktop config\r\n{\r\n  \"mcpServers\": {\r\n    \"jira\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@aashari/mcp-server-atlassian-jira\"],\r\n      \"env\": {\r\n        \"DEBUG\": \"true\",\r\n        \"ATLASSIAN_SITE_NAME\": \"your-company\",\r\n        \"ATLASSIAN_USER_EMAIL\": \"your.email@company.com\",\r\n        \"ATLASSIAN_API_TOKEN\": \"your_api_token\"\r\n      }\r\n    }\r\n  }\r\n}\r\n```\r\n\r\nDebug logs are written to `~/.mcp/data/mcp-server-atlassian-jira.<session-id>.log`\r\n\r\n**Check raw API responses:** When responses are truncated, the full raw response is saved to `/tmp/mcp/mcp-server-atlassian-jira/<timestamp>-<random>.txt` with request/response details.\r\n\r\n## Migration from v2.x\r\n\r\nVersion 3.0 replaces 8+ specific tools with 5 generic HTTP method tools. If you're upgrading from v2.x:\r\n\r\n**Before (v2.x):**\r\n```\r\njira_ls_projects, jira_get_project, jira_ls_issues, jira_get_issue,\r\njira_create_issue, jira_ls_comments, jira_add_comment, jira_ls_statuses, ...\r\n```\r\n\r\n**After (v3.0+):**\r\n```\r\njira_get, jira_post, jira_put, jira_patch, jira_delete\r\n```\r\n\r\n**Migration examples:**\r\n- `jira_ls_projects` -> `jira_get` with path `/rest/api/3/project/search`\r\n- `jira_get_project` -> `jira_get` with path `/rest/api/3/project/{key}`\r\n- `jira_get_issue` -> `jira_get` with path `/rest/api/3/issue/{key}`\r\n- `jira_create_issue` -> `jira_post` with path `/rest/api/3/issue`\r\n- `jira_add_comment` -> `jira_post` with path `/rest/api/3/issue/{key}/comment`\r\n- `jira_ls_statuses` -> `jira_get` with path `/rest/api/3/status`\r\n\r\n**Benefits of v3.0+:**\r\n- Full access to any Jira REST API v3 endpoint (not just predefined tools)\r\n- JMESPath filtering for efficient data extraction\r\n- Consistent interface across all HTTP methods\r\n- TOON format for 30-60% token savings\r\n- Automatic response truncation with raw file logging\r\n\r\n## Support\r\n\r\nNeed help? Here's how to get assistance:\r\n\r\n1. **Check the troubleshooting section above** - most common issues are covered there\r\n2. **Visit our GitHub repository** for documentation and examples: [github.com/aashari/mcp-server-atlassian-jira](https://github.com/aashari/mcp-server-atlassian-jira)\r\n3. **Report issues** at [GitHub Issues](https://github.com/aashari/mcp-server-atlassian-jira/issues)\r\n4. **Start a discussion** for feature requests or general questions\r\n\r\n---\r\n\r\n*Made with care for teams who want to bring AI into their project management workflow.*\r\n","readmeFilename":"README.md","_rev":"1-87c496fff5ccadb406f240f005dd5f3b"}