Jira MCP Server
by samuelrizzo
Verified
# Jira MCP Server
<div align="center">
[](https://www.typescriptlang.org/)
[](https://nodejs.org/)
[](https://www.atlassian.com/software/jira)
[](https://www.npmjs.com/)
[](https://opensource.org/licenses/MIT)
[](http://makeapullrequest.com)
</div>
A Model Context Protocol (MCP) server for Jira integration. This server allows AI assistants like Claude to interact with Jira using MCP.
<div align="center">
<img src="https://skillicons.dev/icons?i=ts,nodejs,git" alt="Skills" />
</div>
**Author:** Samuel Rizzo
<div align="center">
[](https://github.com/samuelrizzo)
[](https://twitter.com/rizzo_exe)
</div>
## Features
- List all Jira projects
- Get detailed issue information
- Search issues by project and assignee
- List project members
- Check user's project membership and assigned issues
- Create new issues with custom fields
- List and query sprints with filtering options
## Installation
```bash
# Clone the repository
git clone https://github.com/samuelrizzo/jira-mcp-server.git
cd jira-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
```
## Configuration
### MCP Server Configuration
Add the following configuration to your cursor/windsurf mcp settings file:
```json
{
"mcpServers": {
"jira-mcp": {
"command": "node",
"args": ["./dist/index.js"],
"env": {
"JIRA_HOST": "your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token-here"
}
}
}
}
```
### Setting up API Access
1. Generate a Jira API token:
- Go to [Atlassian Account Settings](https://id.atlassian.com/manage-profile/security/api-tokens)
- Click "Create API Token"
- Give it a name and click "Create"
- Copy the token (you'll need it for authentication)
2. Note your Jira host URL (e.g., `your-domain.atlassian.net`) and email address associated with your Atlassian account.
3. Add these credentials to your MCP server configuration.
## Available Tools
### 1. List Projects (`mcp_jira_list_projects`)
Lists all Jira projects the authenticated user has access to.
**Parameters:**
- `jiraHost`: Your Jira domain (e.g., 'your-domain.atlassian.net')
- `email`: Your Jira email
- `apiToken`: Your Jira API token
### 2. Get Issue Details (`mcp_jira_get_issue`)
Retrieves detailed information about a specific Jira issue.
**Parameters:**
- `issueKey`: The Jira issue key (e.g., 'PROJECT-123')
- `jiraHost`: Your Jira domain
- `email`: Your Jira email
- `apiToken`: Your Jira API token
### 3. Search Issues (`mcp_jira_search_issues`)
Searches for issues in a specific project, optionally filtered by assignee.
**Parameters:**
- `projectKey`: The Jira project key
- `assigneeName`: (Optional) Filter issues by assignee name
- `jiraHost`: Your Jira domain
- `email`: Your Jira email
- `apiToken`: Your Jira API token
### 4. List Project Members (`mcp_jira_list_project_members`)
Lists all members of a specific Jira project.
**Parameters:**
- `projectKey`: The Jira project key
- `jiraHost`: Your Jira domain
- `email`: Your Jira email
- `apiToken`: Your Jira API token
### 5. Check User Issues (`mcp_jira_check_user_issues`)
Checks if a user is a member of a project and lists their assigned issues.
**Parameters:**
- `projectKey`: The Jira project key
- `userName`: The display name of the user to check
- `jiraHost`: Your Jira domain
- `email`: Your Jira email
- `apiToken`: Your Jira API token
### 6. Create Issue (`mcp_jira_create_issue`)
Creates a new issue in a Jira project with specified details.
**Parameters:**
- `projectKey`: The Jira project key
- `summary`: The title/summary of the issue
- `description`: Detailed description of the issue
- `issueType`: (Optional) Type of issue (e.g., 'Task', 'Bug', 'Story'), defaults to 'Task'
- `assigneeName`: (Optional) The display name of the person to assign the issue to
- `reporterName`: (Optional) The display name of the person reporting the issue
- `sprintId`: (Optional) ID of the sprint to add the issue to
- `jiraHost`: Your Jira domain
- `email`: Your Jira email
- `apiToken`: Your Jira API token
### 7. List Sprints (`mcp_jira_list_sprints`)
Lists current sprints in Jira with filtering options.
**Parameters:**
- `boardId`: (Optional) Jira board ID to filter sprints by a specific board
- `projectKey`: (Optional) Project key to find sprints associated with the project
- `state`: (Optional) Sprint state to filter by (active, future, closed, or all), defaults to 'active'
- `jiraHost`: Your Jira domain
- `email`: Your Jira email
- `apiToken`: Your Jira API token
## Usage Examples
Here are some example queries you can use with Claude:
```
"List all Jira projects in PROJECT"
"Get details for issue PROJECT-123"
"Search for issues assigned to John in PROJECT"
"List all members of PROJECT"
"Check what issues are assigned to Jane in PROJECT"
"Create a new bug issue titled 'Login page error' in PROJECT"
"List active sprints for PROJECT"
```
## Continuous Development
This project is under active development. New tools and features are being added regularly to expand the integration capabilities with Jira. Future updates will include:
- Additional issue management tools
- Sprint and board management
- Advanced search and filtering options
- Custom field handling
- Workflow transitions
- And more!
Stay tuned by watching or starring the repository for updates.
## Contributing
This is an open-source project and contributions are welcome! To contribute:
1. Fork the repository
2. Create your feature branch
3. Make your changes
4. Submit a pull request
## Open Source
This code is completely open source. You are free to:
- Copy
- Modify
- Distribute
- Use commercially
- Use privately
No restrictions - do whatever you want with the code!
## License
MIT