23 lines
2.1 KiB
Markdown
23 lines
2.1 KiB
Markdown
## MODIFIED Requirements
|
||
|
||
### Requirement: Сервер и регистрация
|
||
`jira-hub mcp [<модуль>] [--project <метка>]` SHALL запускать MCP-сервер модуля хаба по stdio (пакет `mcp`), ходящий в
|
||
HTTP API хаба клиентским токеном из настроек. Модуль по умолчанию — `jira`: `jira-hub mcp [--project <метка>]` и
|
||
`jira-hub mcp jira [--project <метка>]` SHALL поднимать один и тот же сервер с именем `jira-hub` и одним и тем же набором
|
||
инструментов. Неизвестный модуль — код выхода 2 и список модулей в stderr, сервер не запускается. Общая регистрация — в
|
||
user scope Claude Code как `jira-hub` (`uv run --project <путь> jira-hub mcp`), без проекта. Репозиторий проекта SHALL
|
||
регистрировать `jira-hub` в своём `.mcp.json` (project scope) с `--project <метка>`; эта запись перекрывает общую. Если хаб
|
||
недоступен, каждый инструмент SHALL вернуть текст «хаб не запущен: jira-hub serve», а не исключение.
|
||
|
||
#### Scenario: Хаб выключен
|
||
- **WHEN** вызван `issues` при остановленном хабе
|
||
- **THEN** ответ инструмента — одна строка с подсказкой, сервер MCP продолжает работать
|
||
|
||
#### Scenario: Модуль по умолчанию
|
||
- **WHEN** запущены `jira-hub mcp --project AWPCA` и `jira-hub mcp jira --project AWPCA`
|
||
- **THEN** оба сервера называются `jira-hub`, список инструментов и их описания совпадают, сессия привязана к `AWPCA`
|
||
|
||
#### Scenario: Неизвестный модуль
|
||
- **WHEN** запущен `jira-hub mcp nope`
|
||
- **THEN** код выхода 2, в stderr — «неизвестный модуль nope» и список модулей (`jira`)
|