Skip to main content
Glama
mike-novum

Jira MCP Server

by mike-novum
README.md
# Jira MCP Server

MCP сервер для работы с Jira API. Позволяет получать информацию о затреканном времени за текущую неделю.

## Установка

```bash
npm install
```

## Конфигурация

Сервер использует переменные окружения для авторизации в Jira. Создайте файл `.env` в корне проекта или экспортируйте переменные в системе:

```bash
export JIRA_USER=your-email@company.com
export JIRA_PASSWORD=your-password-or-api-token
export JIRA_URL=https://your-domain.atlassian.net
```

**Важно:**
- Для Jira Cloud рекомендуется использовать API-токен вместо пароля
- API-токен можно получить в настройках аккаунта Atlassian: Settings → Security → API Tokens
- Для Jira Server можно использовать обычный пароль пользователя

### Добавление переменных в конфигурацию MCP сервера

Если вы используете MCP сервер через IDE с LLM, переменные окружения можно настроить несколькими способами:

#### Способ 1: Через файл .env (рекомендуется)

Создайте файл `.env` в корне проекта:

```
JIRA_USER=your-email@company.com
JIRA_PASSWORD=your-api-token
JIRA_URL=https://your-domain.atlassian.net
```

Затем запустите сервер с загрузкой переменных:

```bash
# Если используете dotenv
npm install dotenv
# И добавьте в начало index.ts: import 'dotenv/config';
```

#### Способ 2: Через переменные окружения системы

```bash
export JIRA_USER=your-email@company.com
export JIRA_PASSWORD=your-api-token
export JIRA_URL=https://your-domain.atlassian.net
npm run dev
```

#### Способ 3: Через конфигурацию IDE

В настройках вашей IDE (например, Cursor) найдите раздел конфигурации MCP серверов и добавьте переменные окружения:

```json
{
  "mcpServers": {
    "jira-assistant": {
      "command": "node",
      "args": ["path/to/index.js"],
      "env": {
        "JIRA_USER": "your-email@company.com",
        "JIRA_PASSWORD": "your-api-token",
        "JIRA_URL": "https://your-domain.atlassian.net"
      }
    }
  }
}
```

## Запуск

### Локальный запуск в фоне

```bash
# Разработка
npm run dev

# Или в фоне
nohup npm run dev > mcp-server.log 2>&1 &
```

### Запуск на определенном порту

MCP сервер по умолчанию использует stdio транспорт. Если вам нужен HTTP сервер, можно использовать дополнительную обертку.

## Доступные инструменты (Tools)

### Get weekly time tracking

Получает затреканное время за текущую неделю (с понедельника по воскресенье).

**Параметры:** нет

**Возвращает:**
- Общее время за неделю
- Детали по каждой задаче с указанием времени и даты
- Период недели (даты начала и конца)

## Авторизация

Сервер использует Basic Authentication для работы с Jira API:

```
Authorization: Basic base64(username:password)
```

Кодирование происходит автоматически на основе переменных окружения `JIRA_USER` и `JIRA_PASSWORD`.

## Безопасность

⚠️ **Важно:** Не коммитьте файл `.env` в репозиторий. Добавьте его в `.gitignore`:

```
.env
.env.local
```

## Пример использования

После запуска сервера и подключения его к IDE с LLM, вы можете запросить:

```
Получи мое затреканное время за эту неделю
```

Сервер вернет информацию о всех worklog записях за текущую неделю.