Jira MCP Server

Jira MCP Server

Enables creating Jira issues and listing issue types for a Jira Cloud project using Basic Auth credentials.

Category
Visit Server

README

Jira MCP Server

MCP (Model Context Protocol) server for Jira Cloud API integration. Create issues and list issue types using Basic Auth (email + API token).

Features

  • jira_create_issue – Create a new Jira issue with project, summary, and issue type
  • jira_list_issue_types – List available issue types for a project

Prerequisites

Setup

  1. Clone and install

    cd jira_mcp
    npm install
    
  2. Configure environment

    Copy .env.example to .env and fill in your values:

    cp .env.example .env
    
    JIRA_BASE_URL=https://your-domain.atlassian.net
    JIRA_EMAIL=user@example.com
    JIRA_API_TOKEN=your_api_token_here
    
  3. Build

    npm run build
    

Usage

Run the server

npm start

Or with env vars inline:

JIRA_BASE_URL=https://your-domain.atlassian.net JIRA_EMAIL=you@example.com JIRA_API_TOKEN=xxx npm start

The server runs via stdio and is intended to be used as a subprocess by MCP clients (e.g. Cursor, Claude Desktop).

Cursor configuration

Add to your Cursor MCP config (e.g. ~/.cursor/mcp.json):

{
  "mcpServers": {
    "jira": {
      "command": "node",
      "args": ["/path/to/jira_mcp/dist/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://your-domain.atlassian.net",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token"
      }
    }
  }
}

Tools

jira_list_issue_types

List issue types (Bug, Task, Story, etc.) for a project.

Parameter Type Required Description
project_key string Yes Jira project key (e.g. PROJ)
response_format string No markdown (default) or json

jira_create_issue

Create a new Jira issue.

Parameter Type Required Description
project_key string Yes Jira project key
summary string Yes Issue title
issue_type string Yes Issue type name (e.g. Bug, Task) or ID
description string No Issue description
response_format string No markdown (default) or json

Testing Without Cursor

The best way to test the MCP server interactively is with MCP Inspector, a web UI for exercising tools, resources, and prompts.

  1. Build the project (if not already done):

    npm run build
    
  2. Run MCP Inspector with your server. With a .env file in the project root, the server loads it automatically:

    npm run inspector
    

    Or run directly (env from .env is loaded by the server):

    npx @modelcontextprotocol/inspector node dist/index.js
    

    To pass env vars explicitly instead:

    npx @modelcontextprotocol/inspector \
      -e JIRA_BASE_URL=https://your-domain.atlassian.net \
      -e JIRA_EMAIL=you@example.com \
      -e JIRA_API_TOKEN=your-token \
      node dist/index.js
    
  3. Open the Inspector in your browser (typically http://localhost:6274).

  4. Test tools – Use the Tools tab to call jira_list_issue_types and jira_create_issue with sample inputs.

The Inspector runs your server as a subprocess and connects via stdio, so it behaves like a real MCP client.

Development

# Run with auto-reload
npm run dev

# Run all tests (unit + integration)
npm test

# Run tests with coverage
npm run test:coverage

# Run integration tests only (spawns MCP server + mock Jira)
npm run test:integration

# Lint code
npm run lint
npm run lint:fix

# Format code
npm run format
npm run format:check

Pre-commit hooks (Husky)

On each git commit, Husky runs lint and Prettier on staged files. If there are errors, the commit is blocked with a message:

❌ Commit blocked: Fix the lint or Prettier errors above.
   Tips: npm run lint:fix  |  npm run format

To bypass (use sparingly): git commit --no-verify or HUSKY=0 git commit

CI

GitHub Actions runs on pull requests to main/master with separate stages on Node.js 24.x:

  • Unit Testsnpm run test:unit (90% coverage enforced)
  • Integration Testsnpm run test:integration (MCP server + mock Jira)
  • Lint & Format – ESLint and Prettier checks
  • Security Auditnpm audit (fails on moderate+ vulnerabilities)
  • CodeQL – Static security analysis (JavaScript/TypeScript)
  • Dependency Review – Checks for vulnerable deps in PRs

Dependabot is configured for weekly dependency updates (.github/dependabot.yml).

To block merges until PRs pass, enable branch protection in GitHub: Settings → Branches → Add rule → Require status checks to pass before merging.

API Reference

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured