본문 바로가기

IT/AI 자동화

클로드 Supabase MCP 조직 2개 연결하는 방법

Claude에서 Supabase 조직 2개를 함께 쓰려면 MCP 서버를 Claude Code CLI로 하나 더 추가하고 두 번째 조직으로 로그인하면 된다. 커넥터가 조직 하나만 보여서 다른 조직 프로젝트가 안 보일 때 두 조직을 모두 쓰는 순서를 정리했다.

Supabase를 쓰다 보면 회사 조직, 개인 조직, 초대받은 조직처럼 조직이 여러 개로 늘어나기 마련이다. 문제는 Claude에 붙인 Supabase 커넥터가 그중 하나밖에 못 본다는 것이다. 분명 대시보드에는 있는 프로젝트인데 Claude에게 물어보면 "권한이 없다"는 답이 돌아와서, 처음엔 내가 뭘 잘못 연결했나 싶었다.

결론부터 말하면 커넥터를 고칠 게 아니라 MCP 서버를 하나 더 추가해 조직마다 연결을 따로 두면 된다. 아래 순서대로 하면 기존 연결은 그대로 둔 채 두 번째 조직 프로젝트까지 Claude에서 다룰 수 있다.

검증 환경: 맥북프로 / macOS 27.2 / Claude Code 2.1.308(Homebrew 설치) / Supabase 호스팅 MCP 서버 기준 (2026.10 작성)

(스크린샷: Claude Code 터미널에서 /mcp 실행 후 supabase-org2 가 connected 로 표시된 화면 — 발행 전 이미지로 교체)

1. 왜 조직 하나만 보일까?

Supabase MCP 서버는 기본으로 OAuth 로그인 방식을 쓴다. 로그인 창에서 조직을 하나 고르게 되어 있고, 그 연결은 고른 조직의 프로젝트만 본다. Supabase 공식 문서에도 로그인할 때 작업할 프로젝트가 들어 있는 조직을 고르라고 적혀 있다.

그래서 다른 조직 프로젝트를 조회하면 이런 식으로 막힌다.

You do not have permission to perform this action

내 경우 기존 커넥터에는 A 조직의 프로젝트 두 개만 보였고, B 조직(초대받아 운영 중인 조직)의 프로젝트는 조회 자체가 거부됐다. 커넥터는 연결 하나에 조직 하나라서, 같은 커넥터로 두 조직을 동시에 보는 방법은 공식 문서에서 찾지 못했다.

2. Claude Code CLI 설치하기

두 번째 연결은 Claude Code CLI의 claude mcp add 명령으로 추가한다. 그런데 Claude 데스크톱 앱만 깔려 있으면 터미널에 claude 명령이 없다. 앱 안에 Claude Code가 들어 있긴 하지만 터미널 PATH에는 안 잡힌다.

# 설치 여부 확인
claude --version
# zsh: command not found: claude  ← 이렇게 나오면 CLI 부터 설치

설치 방법은 두 가지다. 공식 문서가 권장하는 건 네이티브 설치다.

# 방법 A: 공식 권장 네이티브 설치 (자동 업데이트됨)
curl -fsSL https://claude.ai/install.sh | bash

나는 다른 도구들과 같이 관리하려고 Homebrew로 설치했다.

# 방법 B: Homebrew 설치 (설치 이름은 claude-code, 실행 명령은 claude)
brew install --cask claude-code
주의: Homebrew에서 claude라는 이름의 cask는 데스크톱 앱이다. CLI는 claude-code다. 데스크톱 앱이 이미 있으면 claude cask를 또 설치하지 않는다.
참고: Homebrew로 설치한 Claude Code는 자동 업데이트가 안 된다. 가끔 brew upgrade claude-code를 돌려 줘야 한다. 최신판을 바로 받고 싶으면 claude-code@latest cask가 따로 있다.

3. 두 번째 조직용 MCP 서버 추가하기

이제 Supabase MCP 서버를 이름을 달리해 하나 더 추가한다. 이름은 구별만 되면 되니 supabase-org2처럼 붙였다.

# 모든 폴더에서 쓰는 사용자 범위로 Supabase MCP 서버 추가
claude mcp add --scope user --transport http supabase-org2 "https://mcp.supabase.com/mcp"

성공하면 ~/.claude.json 에 저장됐다는 메시지가 나온다. 토큰 같은 비밀값은 이 파일에 들어가지 않는다. 로그인은 다음 단계에서 브라우저로 한다.

4. 로그인하면서 두 번째 조직 고르기

  1. 터미널에서 claude 를 실행한다. 처음 실행하면 Claude 계정 로그인부터 한다(구독 계정이면 1번 선택).
  2. 대화 화면에서 /mcp 를 입력한다.
  3. 목록에서 supabase-org2 를 고르고 Authenticate 를 누른다.
  4. 브라우저에 Supabase 로그인 창이 뜨면 두 번째 조직을 고르고 승인한다. 여기서 기존 커넥터와 같은 조직을 고르면 연결이 하나 더 생길 뿐 달라지는 게 없다.
  5. 터미널에 Authentication successful. Connected to supabase-org2. 가 나오면 끝이다.

(스크린샷: Supabase OAuth 승인 화면에서 조직 선택 드롭다운 — 발행 전 이미지로 교체)

확인은 Claude에게 바로 시켜 보면 된다.

supabase-org2 로 프로젝트 목록만 보여줘

내 경우 B 조직의 프로젝트 두 개가 모두 보였다. 기존 커넥터(A 조직)와 합쳐 네 프로젝트를 Claude 한 곳에서 다룰 수 있게 됐다.

5. 범위를 좁히고 싶다면: 상황별 선택

조직 단위로 붙이면 그 조직의 모든 프로젝트에 닿는다. Supabase 공식 문서는 실수를 줄이려면 프로젝트 하나로 범위를 좁히거나 읽기 전용으로 쓰라고 권한다. URL 뒤에 옵션만 붙이면 된다.

# 특정 프로젝트 하나로만 한정 (YOUR_PROJECT_REF 는 대시보드 주소의 프로젝트 ID)
claude mcp add --scope project --transport http supabase-myapp "https://mcp.supabase.com/mcp?project_ref=YOUR_PROJECT_REF"

# 읽기 전용으로 (쿼리를 읽기 전용 Postgres 사용자로 실행)
claude mcp add --scope user --transport http supabase-org2-ro "https://mcp.supabase.com/mcp?read_only=true"

--scope project 로 넣으면 그 저장소의 .mcp.json 에 저장돼서, 그 폴더에서 연 세션에서만 쓰인다.

아래 표는 Supabase 조직이 둘 이상일 때 연결 방식을 범위와 관리 부담 기준으로 비교한 것이다 (2026.10 기준).

방식 닿는 범위 로그인 이럴 때
조직별 MCP 추가 (이 글) 고른 조직의 전 프로젝트 브라우저 OAuth 한 조직 안의 앱 여러 개를 같이 다룰 때
프로젝트 한정 (project_ref) 프로젝트 하나 브라우저 OAuth 운영 데이터가 있는 앱, 실수를 막고 싶을 때
개인 액세스 토큰 헤더 계정 전체 (project_ref로 좁힘) 토큰 직접 발급 브라우저 로그인이 안 되는 CI 환경

토큰 방식은 공식 문서상 CI용이다. 토큰을 설정 파일에 그대로 적으면 그게 곧 유출 경로가 되니, 쓰더라도 Authorization: Bearer ${YOUR_TOKEN_ENV} 처럼 환경 변수 이름으로만 넣는다.

6. 해보고 알게 된 주의점

  • 새 연결은 새 세션부터 보인다. 이미 열려 있던 Claude 세션은 시작할 때 연결 목록을 읽어서, 방금 추가한 서버가 안 보인다. 추가했으면 세션을 새로 연다.
  • Claude에게 MCP 추가를 시키면 막힌다. 자동 승인 모드에서 Claude가 직접 claude mcp add 를 돌리려 하자 "자기 설정 변경"으로 분류돼 거부됐다. 연결 추가와 로그인은 사람이 터미널에서 하는 게 맞다.
  • 운영 DB 연결은 신중하게. Supabase는 MCP를 개발·테스트용으로 안내하고, 실제 데이터에 붙일 거면 읽기 전용과 프로젝트 한정을 권한다. SQL 실행처럼 쓰는 작업은 실행 전 승인 창에서 꼭 내용을 확인하자.

7. 마무리

  • 커넥터는 조직 하나만 본다. 조직이 둘이면 MCP 연결도 둘이다.
  • brew install --cask claude-code 로 CLI 를 깔고, claude mcp add 로 두 번째 Supabase MCP 를 추가한 뒤 /mcp 에서 두 번째 조직으로 로그인한다.
  • 운영 데이터가 있으면 project_ref 와 read_only 로 범위를 좁힌다.

다음에는 이렇게 붙인 Supabase MCP로 실제 앱의 가입 허용 목록과 Auth 설정을 Claude와 함께 점검한 과정을 정리해 볼 생각이다.