Atlassian MCP 서버

Atlassian MCP 서버

LiteLLM MCP 게이트웨이를 통해 Atlassian의 호스팅 원격 MCP 서버를 연결해 Jira 이슈, Confluence 페이지, Compass 컴포넌트를 다뤄 보세요.

Atlassian이 서버를 호스팅·업데이트하므로 직접 배포하거나 실행할 것이 없어요. LiteLLM은 키·팀별 접근 제어, 도구 호출별 비용 추적, 노출한 모든 MCP 서버에 걸친 단일 감사 추적과 함께 중앙 집중식 인증을 추가해요.

출처: 문서

본문

이 서버를 언제 사용하나요 (When should you use this server)

  • 에이전트가 대화를 떠나지 않고 Jira 이슈를 분류·작성·업데이트하게 하기
  • Confluence 페이지를 컨텍스트로 가져오거나, 결과를 새 페이지로 작성하기
  • Compass 컴포넌트를 통해 소유권과 의존성을 추적하기

주요 기능 (Key features)

  • 하나의 서버가 Jira, Jira Service Management, Confluence, Bitbucket, Compass를 모두 아우르므로 단일 등록으로 전부 도달해요
  • Streamable HTTP로 Atlassian이 호스팅. Cloud 전용이며 Server나 Data Center는 지원하지 않음
  • 동적 클라이언트 등록(dynamic client registration)이라 LiteLLM이 OAuth 클라이언트를 협상하고 관리할 client ID나 secret이 없음

Atlassian은 이를 Rovo MCP Server로 제공해요. 문서에서 이 이름으로 검색하면 돼요.

인증 (Authentication)

  • 방법: 사용자 토큰을 사용하는 OAuth 2.1. 각 호출자의 기존 Atlassian 권한을 존중해요. 에이전트는 그 사용자가 이미 열 수 없는 Jira 프로젝트나 Confluence 스페이스를 열 수 없어요.
  • Atlassian 앱: 만들 필요 없음. Atlassian은 동적 클라이언트 등록을 지원하며 서버는 별도 가입 없이 모든 Atlassian Cloud 고객에게 열려 있어요.
  • 대안: Atlassian은 API 토큰 인증도 제공하는데, 조직 관리자가 Atlassian Administration에서 먼저 활성화해야 해요. 두 방법 간 도구 범위가 다르므로 기대한 제품이 없다면 Atlassian의 지원 도구 페이지를 확인하세요.

엔드포인트 (Endpoint)

원격 MCP 서버:

https://mcp.atlassian.com/v1/mcp/authv2

Atlassian은 수동 구성 클라이언트(즉 LiteLLM)용으로 authv2를 문서화해요. 기존의 https://mcp.atlassian.com/v1/mcp 형식은 여전히 유효하며 Atlassian의 원클릭 설치 프로그램이 여전히 배포하므로 기존 설정에서 볼 수 있어요. 새 구성에서는 authv2를 선호하세요.


LiteLLM MCP 게이트웨이로 연결 (Connect via LiteLLM MCP Gateway)

클라이언트 자격 증명은 빼 두세요 — 이 서버에 client_id, client_secret, token_url을 설정하지 마세요. 그렇게 하면 모든 호출자가 공유하는 machine-to-machine 신원으로 전환되어 Jira 변경이 요청한 사람이 아니라 하나의 서비스 계정에 귀속돼요. Atlassian의 동적 등록 덕분에 불필요해요.

1단계: LiteLLM에 서버 등록 (Register the server in LiteLLM)

LiteLLM UI:

MCP Servers로 이동해 + Add New MCP Server 클릭 후 설정:

필드
Server Name atlassian_mcp
Transport HTTP
Server URL https://mcp.atlassian.com/v1/mcp/authv2
Authentication OAuth
OAuth flow type Interactive (PKCE)
Client ID / Client Secret 비워 둠

Create MCP Server 클릭 후 서버의 MCP Tools 탭을 열어 연결을 확인하세요. 첫 목록화에서 Atlassian 로그인과 사이트 선택을 거치게 돼요.

config.yaml:

mcp_servers:
  atlassian_mcp:
    url: "https://mcp.atlassian.com/v1/mcp/authv2"
    transport: "http"
    description: "Jira, Confluence, and Compass"
    auth_type: oauth2
    oauth2_flow: authorization_code

oauth2_flow: authorization_code는 대화형 사용자별 흐름을 선택하며 필수예요. 이를 생략한 auth_type: oauth2 서버에서는 프록시가 시작을 거부해요. MCP 서버 저장에는 Prerequisites에서 다루는 store_model_in_db: true도 필요해요.

2단계: 프록시의 공용 origin 설정 (Set the proxy's public origin)

LiteLLM이 TLS 종료 인그레스 뒤에서 실행된다면 PROXY_BASE_URL을 사용자가 주소창에서 보는 origin으로 설정해 OAuth 콜백이 검증되도록 해 주세요:

PROXY_BASE_URL=https://llm.example.com

불일치는 Connect 클릭 시 400 Bad Request{"detail":"invalid_request"}로 나타나요. 전체 규칙은 Reverse proxy and ingress configuration에 있어요.

3단계: 에이전트에서 연결 (Connect from an agent)

게이트웨이는 각 서버를 http://localhost:4000/{server_name}/mcp로 제공하므로 atlassian_mcphttp://localhost:4000/atlassian_mcp/mcp에서 접근 가능해요.

Claude Desktop / Cursor:

{
  "mcpServers": {
    "atlassian": {
      "url": "http://localhost:4000/atlassian_mcp/mcp",
      "headers": {
        "x-litellm-api-key": "Bearer sk-<your-litellm-api-key>"
      }
    }
  }
}

Claude Code:

claude mcp add --transport http atlassian http://localhost:4000/atlassian_mcp/mcp \
  --header "x-litellm-api-key: *** $LITELLM_API_KEY"

첫 호출에서 브라우저가 열려 권한을 부여하고 사이트를 선택하게 돼요. LiteLLM이 그 사용자의 토큰을 저장하고 이후 새로고침하므로 이후 세션은 프롬프트 없이 연결돼요.


제공 도구 (Tools provided)

info — Atlassian은 도구 정의를 런타임에 tools/list로 게시하므로 이름과 필드가 고지 없이 바뀔 수 있어요. LiteLLM UI의 MCP Tools 탭이 사이트가 노출하는 것의 진실(source of truth)이며, 라이브 도구를 나열하고 테스트 인자로 하나를 호출할 수 있게 해줘요. 업스트림 세부 사항은 Atlassian의 MCP 서버 문서를 참고해 주세요.

제품 기능
Jira 이슈 검색, 이슈 생성·업데이트, 대량 이슈 생성
Confluence 페이지 읽기·요약, 페이지 생성, 스페이스 탐색
Compass 컴포넌트 생성, CSV·JSON에서 대량 컴포넌트·커스텀 필드 가져오기, 의존성 쿼리
Jira Service Management 요청 및 큐 접근
Bitbucket 리포지토리 및 풀 리퀘스트 접근
제품 간 티켓을 페이지에 첨부하거나 Compass 컴포넌트에 연결된 문서를 찾는 등의 제품 간 항목 연결

LiteLLM은 도구 이름에 서버 이름을 접두사로 붙이므로 getJiraIssue라는 도구는 모델에 atlassian_mcp-getJiraIssue로 노출돼요(Tool naming 참고). 이 서버의 도구 표면이 크므로 모델의 도구 목록을 유용할 만큼 작게 유지하려면 MCP Tool Searchsemantic filtering을 활성화할 만해요.

알려진 제한 사항 (Known limitations)

서버는 베타이며 Atlassian은 플랜에 따라 달라지는 자체 시간당 요청 쿼터를 적용해요. 대량 작업은 속도·형식 제약이 있고, 사용자 지정 Jira 필드는 수동 구성이 필요할 수 있으며, 일부 클라이언트에서는 지원이 부분적이에요. 세션은 하나의 사이트에 묶이므로 잘못된 사이트에 대해 권한을 부여한 사용자는 제자리에서 전환하지 못하고 서버를 연결 해제 후 다시 연결해야 해요.


사용자를 제한하세요object_permission으로 서버를 키·팀별로 부여하고 mcp_rpm_limit으로 서버별 호출량 상한을 두세요. 두 가지 모두 MCP Permission Management에서 다룹니다. Atlassian의 베타 쿼터가 사이트 전체에서 공유되고 하나의 통제 불능 에이전트가 고갈시킬 수 있으므로 키별 상한이 대부분의 서버에서보다 여기서 더 중요해요.

LiteLLM 키를 x-litellm-api-key에 넣으세요 — 대화형 OAuth는 업스트림 토큰을 위해 Authorization 헤더가 비어 있어야 해요. 클라이언트가 LiteLLM API 키를 Authorization: Bearer ***로 보내면 OAuth 흐름이 실행되지 않고 LiteLLM이 LiteLLM 키를 Atlassian에 전달하며 Atlassian이 거부해요. 진단하려면 x-litellm-mcp-debug: true를 추가하고 응답 헤더를 읽으세요. 정상 호출은 https://mcp.atlassian.com/v1/mcp/authv2에 대해 x-mcp-debug-auth-resolution: oauth2-passthrough를 보고하고, SAME_AS_LITELLM_KEY는 이 경우를 확인하며 m2m-client-credentials`는 클라이언트 자격 증명이 설정되어 모든 호출자가 하나의 신원을 공유함을 의미해요. Debugging OAuthMCP Troubleshooting Guide를 참고하세요.

더 알아보기 (Learn more)