# 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 записях за текущую неделю.