Jira MCP Server
A Spring AI Model Context Protocol (MCP) server implementation that provides AI-powered tools for interacting with Jira. This project enables AI models to perform various Jira operations through a standardized protocol.
Overview
This project implements a Spring AI MCP server that exposes Jira operations as AI tools. It provides capabilities for:
- Querying Jira tickets
- Creating new tickets
- Updating existing tickets
- Adding comments to tickets
The server follows the Model Context Protocol (MCP) specification, enabling standardized interaction between AI models and Jira operations.
Features
- Ticket Query Service: Search and retrieve Jira tickets using JQL
- Ticket Operations Service: Create, update, and comment on Jira tickets
- Spring AI MCP server implementation
- RESTful API endpoints for Jira operations
- Secure authentication using Jira API tokens
Prerequisites
- Java 21 or later
- Gradle 8.12.1 or later
- Jira instance with API access
- Jira API token
Configuration
Configure the application using environment variables or application.properties:
# JIRA Configuration
jira.api-url=${JIRA_API_URL}
jira.username=${ALTASSIAN_USERNAME}
jira.api-token=${ALTASSIAN_TOKEN}
# Server Configuration
server.port=8081
Building the Project
./gradlew build
Running the Application
./gradlew bootRun
Project Structure
src/main/java/com/mcp/
├── app/
│ └── JiraServiceApplication.java
├── config/
│ ├── AppConfig.java
│ └── JiraApiConfiguration.java
├── dto/
│ ├── CommonDTO.java
│ ├── IssueManagementDTO.java
│ └── IssueSearchDTO.java
└── service/
├── BaseJiraService.java
├── TicketOperationsService.java
└── TicketQueryService.java
Available Tools
Ticket Query Service
searchIssues
: Search Jira tickets using JQLgetIssue
: Retrieve a specific ticket by key
Ticket Operations Service
createIssue
: Create a new Jira ticketupdateIssue
: Update an existing ticketaddComment
: Add a comment to a ticket
Dependencies
- Spring AI MCP Server WebFlux Starter
- Spring Boot
- Spring WebFlux
- Spring AI Core
Contributing
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.