Jira


✨ Features

  • πŸ“‹ Access JIRA Directly From Cursor
    • View your assigned issues without leaving your IDE
    • Get detailed information on specific issues with one command
    • Convert JIRA issues into local tasks seamlessly

πŸš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/Dsazz/mcp-jira.git
cd mcp-jira

# Install dependencies
bun install

# Set up environment variables
cp .env.example .env
# Edit .env with your JIRA credentials

Configuration

Create a .env file with the following variables:

JIRA_HOST=https://your-instance.atlassian.net
JIRA_USERNAME=your-email@example.com
JIRA_API_TOKEN=your-jira-api-token-here

πŸ”‘ Important Note About JIRA API Tokens

  • Tokens may contain special characters, including the = sign
  • Place the token on a single line in the .env file
  • Do not add quotes around the token value
  • Paste the token exactly as provided by Atlassian

πŸ› οΈ Development Tools

Code Quality Tools

The project uses Biome for code formatting and linting, replacing the previous ESLint setup. Biome provides:

  • Fast, unified formatting and linting
  • TypeScript-first tooling
  • Zero configuration needed
  • Consistent code style enforcement

To format and lint your code:

# Format code
bun format

# Check code for issues
bun check

# Type check
bun typecheck

MCP Inspector

Integration with Claude Desktop

πŸ”Œ Integration with Cursor IDE

⚠️ Important: You must build the project with bun run build before integrating with Cursor IDE or Claude Desktop.

Add this MCP server to your Cursor IDE's MCP configuration:

{
  "mcpServers": {
    "JIRA Tools": {
      "command": "node", // or "bun"
      "args": ["/absolute/path/to/your/project/dist/index.js"],
      "env": {
        "JIRA_USERNAME": "your-jira-username",
        "JIRA_API_TOKEN": "your-jira-api-token",
        "JIRA_HOST": "your-jira-host.atlassian.net"
      }
    }
  }
}

🧰 Available Tools

JIRA Tools

ToolDescriptionParametersReturns
jira_get_assigned_issuesRetrieves all issues assigned to youNoneMarkdown-formatted list of issues
jira_get_issueGets detailed information about a specific issueissueKey: Issue key (e.g., PD-312)Markdown-formatted issue details
jira_create_taskCreates a local task from a JIRA issueissueKey: Issue key (e.g., PD-312)Markdown-formatted task

πŸ“ Project Structure

 src/
  β”œβ”€β”€ core/          # Core functionality and configurations
  β”œβ”€β”€ features/      # Feature implementations
  β”‚   └── jira/      # JIRA API integration
  β”‚       β”œβ”€β”€ api/         # JIRA API client
  β”‚       β”œβ”€β”€ formatters/  # Response formatters
  β”‚       └── tools/       # MCP tool implementations
  └── test/          # Test utilities

NPM Scripts

CommandDescription
bun devRun the server in development mode with hot reload
bun buildBuild the project for production
bun startStart the production server
bun formatFormat code using Biome
bun lintLint code using Biome
bun checkRun Biome checks on code
bun typecheckRun TypeScript type checking
bun testRun tests
bun inspectStart the MCP Inspector for debugging
bun cleanup-portsClean up ports used by the development server

πŸ“ Contributing

We welcome contributions! Please see our Contributing Guide for details on:

  • Development workflow
  • Branching strategy
  • Commit message format
  • Pull request process
  • Code style guidelines

πŸ“˜ Resources

πŸ“„ License

MIT Β© Stanislav Stepanenko