@danielevilela/jira-mcp
v1.0.2
Published
MCP server for Jira — search, create, comment, transition, and update issues from any AI assistant
Maintainers
Readme
jira-mcp
A Model Context Protocol (MCP) server that exposes Jira operations to AI assistants — search issues, create tickets, add comments, transition statuses, update fields, and attach files, all from within your AI chat.
Works with VS Code + GitHub Copilot, Claude Desktop, Cursor, and any MCP-compatible client.
Tools
| Tool | Description |
|---|---|
| jira_search | Search issues using JQL |
| jira_get_issue | Get full details of an issue by key |
| jira_create_issue | Create a new issue (Bug, Story, Task, etc.) |
| jira_add_comment | Add a comment to an issue |
| jira_get_my_issues | List open issues assigned to the current user |
| jira_transition_issue | Move an issue to a new status |
| jira_update_issue | Update fields (summary, priority, assignee, labels, team, epic link, etc.) |
| jira_attach_file | Attach a local file to an issue |
Prerequisites
- Node.js 18 or later
- A Jira Personal Access Token (PAT)
Getting a Jira PAT
- Log in to your Jira instance
- Go to Profile → Personal Access Tokens (or
<your-jira-url>/secure/ViewProfile.jspa) - Click Create token, give it a name, and copy the value
Installation
npm install -g @danielevilela/jira-mcpOr use directly with npx — no install needed (see Configuration below).
Configuration
VS Code (GitHub Copilot Agent Mode)
Create or edit .vscode/mcp.json in your workspace:
{
"servers": {
"jira-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@danielevilela/jira-mcp"],
"env": {
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_PAT": "your_personal_access_token"
}
}
}
}Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"jira-mcp": {
"command": "npx",
"args": ["-y", "@danielevilela/jira-mcp"],
"env": {
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_PAT": "your_personal_access_token"
}
}
}
}Cursor
Add to Settings → MCP:
{
"jira-mcp": {
"command": "npx",
"args": ["-y", "@danielevilela/jira-mcp"],
"env": {
"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_PAT": "your_personal_access_token"
}
}
}Testing with MCP Inspector
The fastest way to manually test the server without an AI client:
JIRA_URL=https://your-company.atlassian.net \
JIRA_PAT=your_token \
npx @modelcontextprotocol/inspector npx @danielevilela/jira-mcpThis opens a browser UI where you can call each tool interactively.
Usage Examples
Once connected, you can ask your AI assistant things like:
"Search for open critical bugs in the DROP project"
"Create a story in DROP: [API] Add rate limiting to the auth endpoint"
"Transition DROP-1234 to In Progress"
"Add a comment to DROP-5678 saying the fix is deployed to staging"
"Show me all issues assigned to me"
"Update DROP-9999 priority to High and assign it to john.doe"
Environment Variables
| Variable | Required | Description |
|---|---|---|
| JIRA_URL | ✅ | Base URL of your Jira instance (e.g. https://company.atlassian.net) |
| JIRA_PAT | ✅ | Personal Access Token for authentication |
Privacy & Data Storage
This MCP server is completely stateless — it stores nothing. Every tool call makes a live request directly to your Jira instance and returns the result to the AI. No ticket data, credentials, or history is written to disk or cached anywhere.
AI assistant → MCP tool call → Jira REST API → response back to AIYour JIRA_PAT is passed only as an environment variable and is never logged or transmitted anywhere other than the Jira API.
License
MIT
