Сервер Jira MCP для курсора
Сервер MCP на базе TypeScript, который интегрируется с Jira, позволяя Cursor взаимодействовать с тикетами Jira.
Функции
Список тикетов Jira
Получить информацию о билете
Получить комментарии к билету
Создать новые тикеты
Добавить комментарии к тикетам
Обновить статус тикета
Полная поддержка протокола MCP для интеграции курсора
Related MCP server: Jira MCP Server
Настраивать
Установка через Smithery
Чтобы автоматически установить Jira MCP Server для Cursor for Claude Desktop через Smithery :
npx -y @smithery/cli install @kornbed/jira-mcp-server --client claudeУстановить зависимости:
npm installСоздайте файл
.envна основе.env.exampleи заполните свои учетные данные Jira:
JIRA_HOST=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token
PORT=3000Чтобы получить токен Jira API:
Авторизуйтесь на https://id.atlassian.com/manage/api-tokens
Нажмите «Создать токен API».
Скопируйте токен и вставьте его в файл
.env
Разработка
Запустите сервер разработки:
npm run devПостроить и запустить
Создайте проект:
npm run buildЗапустите сервер:
npm startИнтеграция курсора
Чтобы использовать этот MCP-сервер с Cursor, у вас есть два варианта:
Вариант 1: Интеграция на основе команд (рекомендуется)
Создайте проект:
npm run buildОткройте настройки курсора:
Нажмите на меню курсора.
Выберите «Настройки» (или используйте сочетание клавиш)
Перейдите в раздел «Расширения» или «Интеграции».
Добавьте конфигурацию MCP:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/path/to/jira-mcp-cursor/dist/server.js"]
}
}
}Замените /path/to/jira-mcp-cursor на абсолютный путь к вашему проекту.
Вариант 2: интеграция на основе HTTP (альтернативный)
Запустите сервер MCP (если он еще не запущен):
npm startОткройте настройки курсора:
Нажмите на меню курсора.
Выберите «Настройки» (или используйте сочетание клавиш)
Перейдите в раздел «Расширения» или «Интеграции».
Добавьте конфигурацию MCP:
{
"mcpServers": {
"jira": {
"url": "http://localhost:3000",
"capabilities": [
"list_tickets",
"get_ticket",
"get_comments",
"create_ticket",
"update_status",
"add_comment"
]
}
}
}
}Использование Jira в курсоре
После настройки сервера MCP вы можете использовать команды Jira непосредственно в Cursor:
/jira list— список ваших тикетов/jira view TICKET-123- Просмотреть детали билета/jira comments TICKET-123- Получить комментарии к тикетам/jira create— Создать новый тикет/jira comment TICKET-123— Добавить комментарий/jira status TICKET-123— Обновить статус тикета
Поддержка протокола MCP
Сервер реализует протокол Model-Client-Protocol (MCP), требуемый Cursor:
Stdio-коммуникация для интеграции на основе команд
Регистрация инструмента для операций Jira
Конечные точки API
Список билетов
Извлекает список тикетов Jira, при необходимости отфильтрованный с помощью запроса JQL.
Конечная точка: GET /api/tickets
Параметры запроса:
Параметр | Тип | Необходимый | Описание |
jql | нить | Нет | Строка Jira Query Language (JQL) для фильтрации тикетов |
Пример запроса:
GET /api/tickets?jql=project=TEST+AND+status=OpenПример ответа:
TEST-123: Example ticket (Open)
TEST-124: Another ticket (In Progress)Получить билет
Получает подробную информацию о конкретном тикете.
Конечная точка: GET /api/tickets/:id
Параметры пути:
Параметр | Тип | Необходимый | Описание |
идентификатор | нить | Да | Идентификатор тикета Jira (например, TEST-123) |
Пример запроса:
GET /api/tickets/TEST-123Пример ответа:
Key: TEST-123
Summary: Example ticket
Status: Open
Type: Task
Description:
Detailed ticket descriptionПолучить комментарии по билетам
Извлекает все комментарии для определенного тикета.
Конечная точка: GET /api/tickets/:id/comments
Параметры пути:
Параметр | Тип | Необходимый | Описание |
идентификатор | нить | Да | Идентификатор тикета Jira (например, TEST-123) |
Пример запроса:
GET /api/tickets/TEST-123/commentsПример ответа:
[3/20/2024, 10:00:00 AM] John Doe:
Comment text
---
[3/20/2024, 9:30:00 AM] Jane Smith:
Another comment
---Создать тикет
Создает новый тикет Jira.
Конечная точка: POST /api/tickets
Текст запроса:
Параметр | Тип | Необходимый | Описание |
краткое содержание | нить | Да | Краткое описание билета |
описание | нить | Да | Описание билета |
проектКлюч | нить | Да | Ключ проекта (например, ТЕСТ) |
issueType | нить | Да | Тип проблемы (например, Задача, Ошибка) |
Пример запроса:
POST /api/tickets
Content-Type: application/json
{
"summary": "New feature request",
"description": "Implement new functionality",
"projectKey": "TEST",
"issueType": "Task"
}Пример ответа:
Created ticket: TEST-124Добавить комментарий
Добавляет новый комментарий к существующему тикету.
Конечная точка: POST /api/tickets/:id/comments
Параметры пути:
Параметр | Тип | Необходимый | Описание |
идентификатор | нить | Да | Идентификатор тикета Jira (например, TEST-123) |
Текст запроса:
Параметр | Тип | Необходимый | Описание |
тело | нить | Да | Текст комментария |
Пример запроса:
POST /api/tickets/TEST-123/comments
Content-Type: application/json
{
"body": "This is a new comment"
}Пример ответа:
Added comment to TEST-123Обновить статус
Обновляет статус существующего тикета.
Конечная точка: POST /api/tickets/:id/status
Параметры пути:
Параметр | Тип | Необходимый | Описание |
идентификатор | нить | Да | Идентификатор тикета Jira (например, TEST-123) |
Текст запроса:
Параметр | Тип | Необходимый | Описание |
transitionId | нить | Да | Идентификатор перехода для выполнения |
Пример запроса:
POST /api/tickets/TEST-123/status
Content-Type: application/json
{
"transitionId": "21"
}Пример ответа:
Updated status of TEST-123Поиск билетов
Поиск билетов по указанным проектам с помощью текстового поиска.
Конечная точка: GET /api/tickets/search
Параметры запроса:
Параметр | Тип | Необходимый | Описание |
поискТекст | нить | Да | Текст для поиска в билетах |
проектKeys | нить | Да | Список ключей проекта, разделенных запятыми, для поиска |
maxResults | число | Нет | Максимальное количество возвращаемых результатов (по умолчанию: 50) |
Пример запроса:
GET /api/tickets/search?searchText=login+bug&projectKeys=TEST,PROD&maxResults=10Пример ответа:
Found 2 tickets matching "login bug"
[TEST] TEST-123: Login page bug
Status: Open (Updated: 3/20/2024, 10:00:00 AM)
Description:
Users unable to login using SSO
----------------------------------------
[PROD] PROD-456: Fix login performance
Status: In Progress (Updated: 3/19/2024, 3:30:00 PM)
Description:
Login page taking too long to load
----------------------------------------