jira-mcp
by nayzo
README.md
# jira-mcp
MCP server for Jira Cloud — tailored for ALM projects with Zephyr Scale integration.
Built on the [Model Context Protocol](https://modelcontextprotocol.io/) SDK (TypeScript). Runs as a local stdio process used by Claude Code.
---
## Setup
```bash
cp .env.dist .env
# Fill in your values in .env
npm install
npm run build
```
Then register in your Claude config (`~/.claude/claude_desktop_config.json` or equivalent):
```json
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/path/to/jira-mcp/build/index.js"]
}
}
}
```
---
## Configuration
See `.env.dist` for all available variables.
| Variable | Required | Description |
|---|---|---|
| `JIRA_HOST` | ✅ | e.g. `your-company.atlassian.net` |
| `JIRA_USERNAME` | ✅ | Your Atlassian email |
| `JIRA_API_TOKEN` | ✅ | API token from [id.atlassian.com](https://id.atlassian.com/manage-profile/security/api-tokens) |
| `JIRA_PROJECT_KEY` | ✅ | e.g. `ALM` |
| `ZEPHYR_API_TOKEN` | — | Required for test step tools |
| `AUTO_CREATE_TEST_TICKETS` | — | Auto-create Test ticket when a Story has points (default: `true`) |
Custom field IDs (story points, acceptance criteria, epic link, etc.) are configurable via env — see `.env.dist`.
---
## Tools
### Issues
| Tool | Description |
|---|---|
| `create-ticket` | Create a ticket (Bug, Story, Task, Test) with full field support |
| `get-ticket` | Get ticket details |
| `update-ticket` | Update any field: summary, description, labels, priority, assignee, sprint… |
| `search-tickets` | Search by issue type with optional JQL criteria |
| `search-tickets-jql` | Free JQL search |
| `transition-ticket` | Move a ticket through its workflow (with optional comment) |
| `assign-ticket` | Assign or unassign a ticket |
| `get-issue-history` | Full changelog of a ticket |
| `get-related-issues` | Linked issues (blocks, is blocked by, relates to…) |
| `get-dev-info` | PRs, branches and commits linked via GitHub integration |
### Comments & Time
| Tool | Description |
|---|---|
| `add-comment` | Add a comment (Markdown → ADF) |
| `list-comments` | List comments on a ticket |
| `add-worklog` | Log time spent (`2h 30m`, `1d`…) with optional comment |
### Watchers
| Tool | Description |
|---|---|
| `add-watcher` | Add a watcher by account ID |
| `remove-watcher` | Remove a watcher by account ID |
### Links
| Tool | Description |
|---|---|
| `link-tickets` | Create a link between two tickets |
### Sprints
| Tool | Description |
|---|---|
| `get-sprints` | List sprints for a board (`active` / `future` / `closed`) |
### Zephyr Scale (test steps)
| Tool | Description |
|---|---|
| `get-test-steps` | Get test steps from a Test ticket |
| `add-test-steps` | Add test steps to a Test ticket |
---
## Markdown support
Descriptions and comments accept Markdown — converted to Atlassian Document Format (ADF) automatically:
- `## Heading` / `### Sub-heading`
- `- bullet list`
- `` `inline code` ``
- `**bold**`
---
## Development
```bash
npm run build # Compile TypeScript → build/
```
Restart Claude (or `/mcp`) to pick up a new build.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues