Skip to main content
Glama
motola10

Jira MCP Server

by motola10
README.md
# Jira MCP Server

A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that exposes Jira Cloud to Claude and other LLM agents — enabling programmatic management of Epics, Stories, Tasks, and Sprints directly from an AI chat or agentic workflow.

**Stack:** Node.js, TypeScript, Fastify, PostgreSQL, Docker, Liquibase

## What it does

- Exposes Jira Cloud operations as MCP tools (create/update/query issues, manage sprints, epics)
- Persists conversation context and tool history in PostgreSQL
- Deployable as a Docker container alongside your MCP client

## Quick start

```bash
# 1. Copy env template and fill in your Jira credentials
cp .env.example .env

# 2. Start with Docker Compose (includes Postgres)
docker-compose up

# 3. Run database migrations
docker-compose --profile migrate run --rm liquibase
```

## Configuration

Required env vars (see `.env.example`):

| Variable | Description |
|---|---|
| `JIRA_BASE_URL` | Your Jira Cloud URL (e.g. `https://yourorg.atlassian.net`) |
| `JIRA_EMAIL` | Atlassian account email |
| `JIRA_API_TOKEN` | Jira API token (generate at id.atlassian.com) |
| `POSTGRES_PASSWORD` | Database password |

## Development

```bash
npm install
npm run start:dev    # watch mode
npm run test         # unit tests
npm run test:e2e     # e2e tests
npm run build        # compile to dist/
```

## MCP client setup

Add to your MCP client config (e.g. Claude Code `.mcp.json`):

```json
{
  "mcpServers": {
    "jira": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--env-file", ".env", "jira-mcp"]
    }
  }
}
```