MCP server by skeyhey
mcp-jira-mini
Minimalny serwer MCP (Model Context Protocol) do integracji z Jira Cloud (REST API v3) przez STDIO.
Repo udostępnia zestaw narzędzi (tools) do:
- wyszukiwania issue po JQL,
- pobierania szczegółów issue,
- pobierania komentarzy,
- zrzutu całego projektu do pliku JSONL.
Funkcje / Tools
Serwer rejestruje następujące narzędzia MCP:
jira_search_issues
Wyszukiwanie issue po JQL (Jira Cloud search v3).
Parametry:
jql(string, wymagane) – zapytanie JQL (np.project = ABC AND status != Done ORDER BY updated DESC)maxResults(number, domyślnie10, max50)fields(string[], opcjonalnie) – lista pól do zwrócenia (domyślnie["summary","status","assignee","updated"])
jira_get_issue
Pobranie issue po kluczu (np. ABC-123).
Parametry:
key(string, wymagane)fields(string[], opcjonalnie)
Zwraca m.in. summary, status, assignee, reporter, updated oraz link .../browse/KEY.
jira_get_comments
Pobranie komentarzy do issue.
Parametry:
key(string, wymagane)maxResults(number, domyślnie25, max100)startAt(number, domyślnie0)
Komentarze są upraszczane do czytelnego tekstu (ekstrakcja z ADF).
jira_dump_project
Zrzut issue z danego projektu do pliku data/<PROJECT>.jsonl (JSON Lines).
Parametry:
project(string, wymagane) – klucz projektu (np.ABC)jqlExtra(string, opcjonalnie) – dodatkowy fragment JQLpageSize(number, domyślnie100, max100)maxIssues(number, domyślnie2000, max5000)
Wynik: zapis do data/<project>.jsonl, każdy wiersz to obiekt { key, url, fields }.
Wymagania
- Node.js (zalecane najnowsze LTS)
- Dostęp do Jira Cloud + API token
- Dane logowania w zmiennych środowiskowych
Konfiguracja
W repo jest przykładowy plik:
.env.example
Ustaw następujące zmienne środowiskowe:
JIRA_BASE_URL– np.https://twojatenant.atlassian.netJIRA_EMAIL– email konta w AtlassianJIRA_API_TOKEN– token API (Atlassian)
Przykład .env
JIRA_BASE_URL="https://twojatenant.atlassian.net"
JIRA_EMAIL="you@example.com"
JIRA_API_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Instalacja
npm install
Build
npm run build
Uruchomienie
Serwer działa po STDIO (transport StdioServerTransport), więc zwykle uruchamia się go jako proces “podpięty” do klienta MCP.
Jeśli masz zbudowany kod w dist/:
node dist/server.js
Jeżeli w
package.jsonmasz inne skrypty (np.start,dev), zamień powyższą komendę na właściwą.
Dane wyjściowe
- Pliki zrzutu trafiają do katalogu
data/(tworzony automatycznie). jira_dump_projecttworzy/nadpisuje plik:data/<PROJECT>.jsonl.
Bezpieczeństwo
- Nie commituj
.envani tokenów do repo. - Token jest używany przez Basic Auth:
email:token-> Base64.
Licencja
Brak określonej licencji w repo — jeśli chcesz, mogę dodać plik LICENSE.