@bugzy-ai/jira-mcp-server
v0.1.2
Published
MCP server for Jira Server (on-premise) integration
Maintainers
Readme
@bugzy-ai/jira-mcp-server
MCP (Model Context Protocol) server for Jira Server (on-premise) integration. Enables AI assistants like Claude to interact with Jira Server deployments via standardized tools.
Features
- jira_search_issues - Search issues using JQL (Jira Query Language)
- jira_get_issue - Get detailed information about a specific issue
- jira_create_issue - Create new issues in any project
- jira_add_comment - Add comments to existing issues
Requirements
- Node.js 20.0.0 or higher
- Jira Server/Data Center 8.14+ (for PAT authentication) or any version (for basic auth)
Installation
npm install @bugzy-ai/jira-mcp-serverOr run directly with npx:
npx @bugzy-ai/jira-mcp-serverConfiguration
Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| JIRA_BASE_URL | Your Jira Server URL (e.g., https://jira.yourcompany.com) | Yes |
| JIRA_AUTH_TYPE | Authentication type: pat or basic | No (default: pat) |
| JIRA_PAT | Personal Access Token (when using PAT auth) | When JIRA_AUTH_TYPE=pat |
| JIRA_USERNAME | Username (when using basic auth) | When JIRA_AUTH_TYPE=basic |
| JIRA_PASSWORD | Password (when using basic auth) | When JIRA_AUTH_TYPE=basic |
Creating a Personal Access Token (PAT)
- Log in to your Jira Server instance
- Click your profile picture > Profile
- Click Personal Access Tokens in the left sidebar
- Click Create token
- Give it a name and optionally set an expiry date
- Copy the generated token
Claude Desktop Integration
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["@bugzy-ai/jira-mcp-server"],
"env": {
"JIRA_BASE_URL": "https://jira.yourcompany.com",
"JIRA_AUTH_TYPE": "pat",
"JIRA_PAT": "your-personal-access-token"
}
}
}
}Or if installed locally:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/path/to/jira-mcp-server/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://jira.yourcompany.com",
"JIRA_AUTH_TYPE": "pat",
"JIRA_PAT": "your-personal-access-token"
}
}
}
}Usage Examples
Once configured, you can ask Claude to:
- "Search for open bugs in the TEST project"
- "Get details about issue TEST-123"
- "Create a new bug in project TEST with summary 'Login button not working'"
- "Add a comment to TEST-123 saying the issue has been reproduced"
Tool Reference
jira_search_issues
Search for issues using JQL.
Parameters:
jql(required): JQL query stringmaxResults(optional): Maximum results (1-100, default: 50)fields(optional): Fields to include in response
Example:
jql: "project = TEST AND status = Open ORDER BY created DESC"
maxResults: 20jira_get_issue
Get detailed information about a specific issue.
Parameters:
issueKey(required): Issue key (e.g., "TEST-123")fields(optional): Specific fields to retrieveexpand(optional): Additional data to expand (e.g., "changelog", "transitions")
jira_create_issue
Create a new issue.
Parameters:
projectKey(required): Project key (e.g., "TEST")summary(required): Issue summary/titleissueType(required): Issue type (e.g., "Bug", "Task", "Story")description(optional): Issue descriptionpriority(optional): Priority name (e.g., "High", "Medium")assignee(optional): Username to assign tolabels(optional): Array of labelscomponents(optional): Array of component names
jira_add_comment
Add a comment to an existing issue.
Parameters:
issueKey(required): Issue key (e.g., "TEST-123")body(required): Comment text (supports Jira wiki markup)visibility(optional): Visibility restriction (group or role)
Development
Prerequisites
- Node.js 20+
- Docker (for local Jira instance)
- 6GB+ RAM available for Docker
Quick Start
# Clone the repository
git clone https://github.com/bugzy-ai/jira-mcp-server.git
cd jira-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Setup local Jira (Docker)
npm run setupLocal Jira Setup
The setup script will:
- Start a Jira Docker container
- Wait for Jira to be ready (~3-5 minutes on first boot)
- Guide you through manual setup (license + admin user)
- Create a TEST project for development
- Generate a
.envfile with local credentials
First run requires manual steps:
- Open http://localhost:8080 in your browser
- Complete the setup wizard
- Get a free evaluation license or timebomb license
- Create admin user (recommended:
admin/admin) - Run
npm run setupagain to create test project
Testing
With MCP Inspector (debug individual tools):
npm run dev
# Opens browser at http://localhost:6274With Claude Code (test in conversation):
- The project includes a
.mcp.jsonthat configures the local server - Restart Claude Code to pick up the config
- Try: "Search for issues in the TEST project"
Available Scripts
| Script | Description |
|--------|-------------|
| npm run build | Build TypeScript to dist/ |
| npm run build:watch | Build with watch mode |
| npm run dev | Run MCP Inspector |
| npm run setup | Setup local Jira Docker |
| npm start | Run the MCP server |
| npm run clean | Remove dist/ |
Docker Commands
# View Jira logs
docker logs jira-mcp-test
# Stop Jira
docker stop jira-mcp-test
# Start Jira
docker start jira-mcp-test
# Remove container (loses data)
docker rm -f jira-mcp-testLicense
MIT
