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.
Co daje podłączenie Atlassian Rovo MCP
Dział zatytułowany „Co daje podłączenie Atlassian Rovo MCP”- Aktualną konfigurację
/v2/mcpdla 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-atlassiandla 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.
Którego serwera Atlassian MCP użyć?
Dział zatytułowany „Którego serwera Atlassian MCP użyć?”| Twoja sytuacja | Użyj | Dlaczego |
|---|---|---|
| Atlassian Cloud, praca interaktywna | Oficjalny serwer https://mcp.atlassian.com/v2/mcp z OAuth 2.1 | Hostowany przez dostawcę, bez lokalnego procesu, respektuje uprawnienia każdego użytkownika |
| Użytkownik Claude Code, który chce gotowych procesów | Wtyczka atlassian z claude-plugins-official | Podłą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 Management | Oficjalny serwer z tokenem API | Narzędzia JSM przyjmują wyłącznie tokeny API; OAuth wymaga przeglądarki |
| Jira lub Confluence w wersji Server albo Data Center | Serwer społeczności sooperset/mcp-atlassian (PyPI mcp-atlassian 0.23.1) uruchamiany przez uvx | Oficjalny 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.
Podłącz serwer Atlassian Rovo MCP przez OAuth
Dział zatytułowany „Podłącz serwer Atlassian Rovo MCP przez OAuth”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:
claude mcp add --transport http atlassian https://mcp.atlassian.com/v2/mcpNastę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ę:
claude plugin install atlassian@claude-plugins-officialZanim 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.
Uruchom w terminalu:
codex mcp add atlassian --url https://mcp.atlassian.com/v2/mcpcodex mcp login atlassiancodex mcp login otwiera przeglądarkę do OAuth; na zdalnej maszynie dodaj --no-browser, aby dostać adres do otwarcia gdzie indziej. codex mcp list potwierdza, że serwer jest zarejestrowany. Odpowiednik w ~/.codex/config.toml:
[mcp_servers.atlassian]url = "https://mcp.atlassian.com/v2/mcp"Kuratorowana wtyczka atlassian-rovo w marketplace wtyczek OpenAI wciąż wskazuje https://mcp.atlassian.com/v1/mcp/authv2 (stan na 2026-09-26). Ten endpoint jest wspierany, a połączenia v1 dostają już narzędzia v2, ale jeśli chcesz zalecanego adresu, skonfiguruj serwer bezpośrednio.
Atlassian publikuje w marketplace Cursora wtyczkę Atlassian, która zawiera serwer MCP i jego skille. Aby skonfigurować go ręcznie, dodaj to do .cursor/mcp.json (projekt) lub ~/.cursor/mcp.json (globalnie):
{ "mcpServers": { "atlassian": { "url": "https://mcp.atlassian.com/v2/mcp" } }}Cursor otwiera logowanie OAuth przy pierwszym połączeniu. Szczegóły dotyczące Cursora pochodzą z README Atlassiana, nie z testu: podczas sprawdzania tej strony cursor.com był nieosiągalny.
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ą.
Kiedy użyć tokena API zamiast OAuth?
Dział zatytułowany „Kiedy użyć tokena API zamiast OAuth?”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:
- 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.
- 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.
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}" } } }}Dla klucza konta serwisowego pozwól Codeksowi wysyłać nagłówek bearer ze zmiennej środowiskowej:
codex mcp add atlassian --url https://mcp.atlassian.com/v2/mcp --bearer-token-env-var ATLASSIAN_SERVICE_KEYDla tokena osobistego umieść całą wartość nagłówka (Basic …, zbudowaną jak w zakładce Claude Code) w zmiennej i zmapuj ją w ~/.codex/config.toml:
export ATLASSIAN_AUTH_HEADER="Basic $ATLASSIAN_BASIC_AUTH"[mcp_servers.atlassian]url = "https://mcp.atlassian.com/v2/mcp"env_http_headers = { "Authorization" = "ATLASSIAN_AUTH_HEADER" }Klucz headers = { … } codex-cli 0.157.1 po cichu ignoruje; właściwe klucze to http_headers, env_http_headers i bearer_token_env_var. Uruchom codex mcp get atlassian --json, aby potwierdzić, że nagłówek został wczytany.
W Cursorze używaj OAuth albo wtyczki z marketplace. Konfiguracji tokena w nagłówku dla Cursora nie zweryfikowano na potrzeby tej strony, bo cursor.com był nieosiągalny; do pracy bez przeglądarki użyj Claude Code lub Codeksa.
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.
Jak serwer v2 ogranicza koszt kontekstu?
Dział zatytułowany „Jak serwer v2 ogranicza koszt 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.
getConfluencePageto terazgetConfluenceContent,searchConfluenceUsingCqltosearchConfluence, aaddCommentToJiraIssuetoaddOrEditJiraIssueComment. 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.
Śledź wymagania od Confluence przez kod do Jiry
Dział zatytułowany „Śledź wymagania od Confluence przez kod do Jiry”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.
Krok 1: wyciągnij wymagania i znajdź luki
Dział zatytułowany „Krok 1: wyciągnij wymagania i znajdź luki”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.
Krok 2: przejrzyj macierz, nie kod
Dział zatytułowany „Krok 2: przejrzyj macierz, nie kod”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.
Krok 4: zapisz dowody w Jirze, gdy CI jest zielone
Dział zatytułowany „Krok 4: zapisz dowody w Jirze, gdy CI jest zielone”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.
A co z Jirą Server i Data Center?
Dział zatytułowany „A co z Jirą Server i Data Center?”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.
Gdy połączenie z Atlassian MCP przestaje działać
Dział zatytułowany „Gdy połączenie z Atlassian MCP przestaje działa攄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.