Przejdź do głównej zawartości

Atlassian Rovo MCP: Jira, Confluence i Bitbucket z poziomu agenta

Atlassian Rovo MCP to oficjalny, hostowany w chmurze endpoint MCP Atlassiana (https://mcp.atlassian.com/v2/mcp), przez który Claude Code, Codex i Cursor czytają i aktualizują Jirę, Confluence, Bitbucketa, Jira Service Management oraz Compass. Uwierzytelnia się przez OAuth 2.1 albo włączony przez administratora token API i nigdy nie wykracza poza uprawnienia konta, na które się loguje.

Ta strona jest dla programistów, którzy biorą zadania z Jiry, i dla tech leadów, którzy konfigurują połączenie dla zespołu. Od dwóch dni pracujesz nad PROJ-88, gdy product manager pyta, czemu przycisk eksportu ignoruje filtr dat. Wymaganie trafiło do specyfikacji w Confluence już po tym, jak ją przeczytałeś, a zgłoszenie nic o tym nie mówiło. Z podłączonym serwerem Atlassiana wystarczy jeden prompt, żeby agent przeczytał zgłoszenie i specyfikację od nowa i wskazał, których wymagań kod jeszcze nie spełnia.

  • Aktualną konfigurację /v2/mcp dla Claude Code, Codeksa i Cursora oraz wariant z tokenem API do pracy bez przeglądarki i do Jira Service Management.
  • Tabelę decyzyjną: oficjalny serwer zdalny, wtyczka dostawcy albo sooperset/mcp-atlassian dla Server i Data Center.
  • Proces śledzenia wymagań (specyfikacja w Confluence → kod i testy → komentarz w Jirze) z trzema promptami do skopiowania.
  • Krok weryfikacji, który dowodzi, że każde wymaganie pokrywa przechodzący test, więc nikt nie musi czytać całego diffu.
  • Pułapki i typowe awarie, których README dostawcy nie zbiera w jednym miejscu.
Twoja sytuacjaUżyjDlaczego
Atlassian Cloud, praca interaktywnaOficjalny serwer https://mcp.atlassian.com/v2/mcp z OAuth 2.1Hostowany przez dostawcę, bez lokalnego procesu, respektuje uprawnienia każdego użytkownika
Użytkownik Claude Code, który chce gotowych procesówWtyczka atlassian z claude-plugins-officialPodłącza ten sam serwer /v2/mcp i sześć skilli, w tym spec-to-backlog i triage-issue
Agent bez przeglądarki, zadanie w CI lub narzędzia Jira Service ManagementOficjalny serwer z tokenem APINarzędzia JSM przyjmują wyłącznie tokeny API; OAuth wymaga przeglądarki
Jira lub Confluence w wersji Server albo Data CenterSerwer społeczności sooperset/mcp-atlassian (PyPI mcp-atlassian 0.23.1) uruchamiany przez uvxOficjalny serwer łączy się wyłącznie z witrynami Atlassian Cloud

Popularność na 2026-09-26: oficjalne repozytorium atlassian/atlassian-mcp-server ma około 1,1 tys. gwiazdek na GitHubie, wtyczka atlassian ma 92 289 instalacji w katalogu wtyczek Claude, a serwer figuruje w Official MCP Registry pod com.atlassian. Repozytorium społeczności sooperset/mcp-atlassian ma około 5,9 tys. gwiazdek. Gwiazdki mierzą zainteresowanie, nie jakość; dla Cloud domyślnym wyborem jest serwer oficjalny.

Endpoint jest taki sam we wszystkich trzech narzędziach. Różni się to, jak każde z nich rejestruje serwer zdalny i uruchamia logowanie OAuth.

Uruchom w terminalu:

Okno terminala
claude mcp add --transport http atlassian https://mcp.atlassian.com/v2/mcp

Następnie otwórz sesję, wpisz /mcp, wybierz atlassian i dokończ logowanie w przeglądarce. Wskaż witrynę Atlassiana, na której agent ma pracować. Polecenie zapisuje wpis w zakresie lokalnym (ten projekt, tylko ty); dodaj --scope project, aby zapisać go w commitowanym .mcp.json dla zespołu, albo --scope user, aby działał we wszystkich twoich projektach.

Zamiast gołego serwera możesz zainstalować wtyczkę:

Okno terminala
claude plugin install atlassian@claude-plugins-official

Zanim ją zostawisz, sprawdź koszt: claude plugin details atlassian pokazuje listę komponentów i przewidywany koszt w tokenach, a /context przed instalacją i po niej pokazuje różnicę w sesji.

Zanim zaczniesz na tym polegać, sprawdź połączenie. Poproś agenta: „List the Jira projects I can see through the Atlassian MCP server”. Lista kluczy projektów oznacza, że logowanie, wybór witryny i uprawnienia działają.

Użyj tokena API, gdy nikt nie siedzi przy przeglądarce, żeby zatwierdzić OAuth (CI, agent uruchamiany z harmonogramu, zdalny kontener), albo gdy potrzebujesz narzędzi Jira Service Management, które serwer udostępnia tylko przy uwierzytelnianiu tokenem. Najpierw muszą być spełnione dwa warunki:

  1. Administrator organizacji musi włączyć uwierzytelnianie tokenem w Atlassian Administration → Rovo → Rovo MCP server → Authentication. Do tego czasu żądania z tokenem kończą się błędem i działa tylko OAuth.
  2. Token musi mieć zakresy (scopes) dla wywoływanych narzędzi. Utwórz osobisty token API z zakresami albo poproś administratora o klucz API konta serwisowego.

Serwer przyjmuje dwa nagłówki: Authorization: Basic <base64(email:api_token)> dla tokena osobistego i Authorization: Bearer <api_key> dla klucza konta serwisowego. Trzymaj sekret w zmiennej środowiskowej lub w magazynie sekretów, nigdy w commitowanym pliku ani w linii poleceń.

Zbuduj wartość Basic raz na sesję powłoki. tr -d '\n' jest istotne: GNU base64 łamie długie wyjście, a znak nowej linii w nagłówku psuje uwierzytelnianie.

Okno terminala
export ATLASSIAN_BASIC_AUTH=$(printf '%s' "you@example.com:$ATLASSIAN_API_TOKEN" | base64 | tr -d '\n')

Odwołaj się do niej w .mcp.json; Claude Code rozwija ${VAR} w headers przy wczytywaniu, więc plik nie zawiera sekretu:

{
"mcpServers": {
"atlassian": {
"type": "http",
"url": "https://mcp.atlassian.com/v2/mcp",
"headers": {
"Authorization": "Basic ${ATLASSIAN_BASIC_AUTH}"
}
}
}
}

Przypnij witrynę, projekt i przestrzeń, żeby agent przestał szukać

Dział zatytułowany „Przypnij witrynę, projekt i przestrzeń, żeby agent przestał szukać”

Bez tego każda sesja zaczyna się od wywołań rozpoznawczych: do których witryn masz dostęp, które projekty, które przestrzenie. README Atlassiana zaleca przypięcie ich w AGENTS.md (lub w CLAUDE.md dla Claude Code). Ten blok pochodzi od nich, z twoimi wartościami:

## Atlassian MCP
When connected to the Atlassian MCP server:
- MUST use Jira project key = PROJ
- MUST use Confluence spaceId = "123456"
- MUST use cloudId = "https://yourcompany.atlassian.net" (do NOT call getAccessibleAtlassianResources)
- MUST use `maxResults: 10` or `limit: 10` for ALL Jira JQL and Confluence CQL searches.

Zastąp PROJ, identyfikator przestrzeni i adres witryny własnymi. Limit wyszukiwania trzyma duże zbiory wyników poza oknem kontekstu.

Serwer v2 udostępnia mały zestaw narzędzi podstawowych (primary), a do reszty sięga przez metanarzędzia discover i execute, więc pełna lista narzędzi nigdy nie trafia do kontekstu. Dwie konsekwencje:

  • Bramka (gateway), która potrzebuje wszystkich narzędzi z góry, może użyć https://mcp.atlassian.com/v2/mcp?tools=all. Zanim to przyjmiesz, zmierz koszt przez /context; płaska lista kosztuje znacznie więcej niż zestaw podstawowy.
  • Nazwy narzędzi zmieniły się między v1 a v2. getConfluencePage to teraz getConfluenceContent, searchConfluenceUsingCql to searchConfluence, a addCommentToJiraIssue to addOrEditJiraIssueComment. Własny skill lub prompt, który wymienia narzędzia v1 z nazwy, wymaga aktualizacji. Prompty opisujące efekt („przeczytaj stronę”, „dodaj komentarz”) działają bez zmian.

Ogólną technikę opisuje strona o ograniczaniu kosztu tokenów MCP.

Ten proces zamienia pytanie „czy zbudowaliśmy to, co mówi specyfikacja?” w tabelę, którą dowodzą testy, zamiast w pytanie, na które ktoś odpowiada, czytając diff. To pętla plan → budowa → weryfikacja → wydanie, w której wejściem są specyfikacja i zgłoszenie, a zapisem komentarz w Jirze. Jak pisać kryteria, które agent potrafi sprawdzić, opisuje strona o kryteriach akceptacji dla agentów.

Zacznij od promptu, który czyta, ale nie zapisuje. Agent pobiera PROJ-88, przechodzi do podlinkowanej strony w Confluence i porównuje każde wymaganie z kodem.

Przeczytaj docs/traceability/PROJ-88.md. Każdy wiersz oznaczony jako niejasny lub sprzeczny rozstrzygnij z product ownerem, zanim cokolwiek powstanie. To jedyny krok, w którym człowiek czyta wymagania dokładnie.

Krok 3: zamień każdą lukę w czerwony test, potem implementuj

Dział zatytułowany „Krok 3: zamień każdą lukę w czerwony test, potem implementuj”

Testy powstają najpierw, więc dowód istnieje, zanim pojawi się kod.

Zapisy dzieją się na końcu i zatwierdzasz je w oknie uprawnień agenta.

W Claude Code skill spec-to-backlog z wtyczki obsługuje krok poprzedzający: czyta specyfikację z Confluence, pokazuje proponowany Epic i zgłoszenia podrzędne, a tworzy je dopiero po zatwierdzeniu podziału. Do gałęzi i pull requestów w tej samej pętli połącz ten serwer z GitHub MCP lub gh; odpowiedniki dla Linear i Notion opisuje strona o zgłoszeniach i dokumentacji przez MCP.

Jak zweryfikować macierz wymagań bez czytania każdej linii?

Dział zatytułowany „Jak zweryfikować macierz wymagań bez czytania każdej linii?”

Macierz jest użyteczna tylko wtedy, gdy każdy wiersz stoi na czymś, co sprawdziła maszyna. Cztery kontrole, w tej kolejności:

  • Każdy wiersz wskazuje test, a CI go uruchamia. Wiersz MET bez nazwy testu to deklaracja, nie dowód. Odrzuć macierz, dopóki każdy wiersz go nie ma.
  • Nowe testy nie przechodziły przed zmianą. Prompt z kroku 3 prosi o czerwony przebieg; zachowaj go w logu sesji lub w opisie PR. Test, który nigdy nie był czerwony, może w ogóle nie sprawdzać wymagania.
  • Próbkuj, nie czytaj wszystkiego. Recenzent otwiera losowo dwa lub trzy wiersze i czyta razem wymaganie, test i kod. Jeśli się zgadzają, ufa reszcie; jeśli któryś nie, odsyła całą macierz.
  • Komentarz w Jirze jest śladem audytowym. Zapisuje, które wymaganie odpowiada któremu testowi w chwili scalenia. Atlassian loguje też każde wywołanie narzędzia MCP w Atlassian Administration → Insights → Audit log, więc administrator może sprawdzić, co agent zmienił. Gotowy format dla takich dowodów opisuje strona o pakiecie dowodów.

Akceptacja jest podzielona. Product owner zatwierdza listę wymagań (krok 2), a tech lead lub recenzent PR zatwierdza przypisanie testów. Standardy przeglądu wykraczające poza tę stronę opisuje strona o przeglądzie pull requestów agenta.

Oficjalny serwer działa wyłącznie z witrynami Atlassian Cloud. Dla Server lub Data Center użyj sooperset/mcp-atlassian (obsługuje Jirę 8.14+ i Confluence 6.0+ w wersji Server/Data Center) z osobistym tokenem dostępu (PAT) dla każdego produktu. W .mcp.json Claude Code odwołaj się do tokenów przez zmienne środowiskowe:

{
"mcpServers": {
"mcp-atlassian": {
"command": "uvx",
"args": ["mcp-atlassian"],
"env": {
"JIRA_URL": "https://jira.yourcompany.internal",
"JIRA_PERSONAL_TOKEN": "${JIRA_PERSONAL_TOKEN}",
"CONFLUENCE_URL": "https://confluence.yourcompany.internal",
"CONFLUENCE_PERSONAL_TOKEN": "${CONFLUENCE_PERSONAL_TOKEN}"
}
}
}
}

Wymaga zainstalowanego uv i działa na maszynie programisty, więc jego narzędzia widzą wszystko, co widzi token. Codex i Cursor przyjmują to samo polecenie i te same zmienne środowiskowe we własnych formatach konfiguracji. Opisany wyżej proces działa bez zmian.

„You don’t have permission to connect from this IP address.” Organizacja używa listy dozwolonych adresów IP, a wywołania narzędzi MCP muszą przychodzić z dozwolonego adresu. Poproś administratora o dodanie zakresu biura lub VPN albo połącz się z dozwolonej sieci. Runner CI ze zmiennym IP trafi na ten błąd za każdym razem; daj mu stały adres wyjściowy, który jest na liście.

OAuth nie działa w twoim narzędziu albo witryna nie jest proponowana. Administratorzy decydują, które narzędzia AI i domeny mogą się łączyć, na stronie ustawień Rovo MCP server w Atlassian Administration; połączenia OAuth z niedozwolonej domeny są odrzucane. Poproś administratora o dopuszczenie klienta. Użytkownik może też sam cofnąć swoje autoryzacje w profilu, więc sprawdź, czy twoja wciąż istnieje.

Wczoraj działało na /v1, a teraz logowanie się zapętla. Po przejściu na narzędzia v2 niektórzy klienci trzymają w pamięci identyfikator klienta lub poświadczenia .well-known, które już nie pasują. Usuń serwer i dodaj go ponownie (claude mcp remove atlassian albo codex mcp logout atlassian, a potem codex mcp login atlassian) i zaloguj się jeszcze raz, tym razem na /v2/mcp.

Brakuje narzędzi Jira Service Management. Istnieją tylko przy uwierzytelnianiu tokenem API. Przy OAuth agent ich nie widzi. Przełącz to połączenie na token i sprawdź, czy administrator włączył uwierzytelnianie tokenem.

Narzędzia Compass znikają po przejściu na token. Compass działa tylko z OAuth. Jeśli do JSM potrzebujesz połączenia z tokenem, zachowaj osobne połączenie OAuth do pracy z Compassem.

Nie widać repozytoriów Bitbucketa. Narzędzia Bitbucket Cloud działają tylko dla przestrzeni roboczych połączonych z organizacją Atlassian. Niepołączonej przestrzeni nie da się wybrać przy logowaniu.

Agent nie może usuwać zgłoszeń ani zmieniać ustawień projektu. Grupy uprawnień delete_jira i manage_jira są domyślnie wyłączone. Zostaw je wyłączone, chyba że administrator ma powód, by je włączyć; agent rzadko potrzebuje którejkolwiek z nich.

Agent szuka „Platform Engineering” i nic nie znajduje. JQL używa kluczy projektów, nie nazw wyświetlanych. Podaj klucz (PROJ) w prompcie albo w bloku AGENTS.md opisanym wyżej.

Opis zgłoszenia każe agentowi zrobić coś, o co nie prosiłeś. Treść zgłoszeń i stron to niezaufane dane wejściowe, a prompt injection przez nie to realne ryzyko, przed którym ostrzega samo README Atlassiana. Trzymaj narzędzia zapisu za oknem uprawnień, nigdy nie zatwierdzaj automatycznie zapisów do Jiry i Confluence i przeczytaj stronę o bezpieczeństwie MCP, zanim uruchomisz ten serwer bez nadzoru. Awarie na poziomie transportu, dotyczące wszystkich serwerów, opisuje strona o problemach z połączeniem MCP.