OpenChrome MCP로 Chrome 로그인 세션 유지하며 브라우저 조작하기

Claude Code에서 OpenChrome MCP로 Chrome 프로필 쿠키를 동기화해 로그인 상태를 유지한 채 웹 페이지를 조작하는 설정과 트러블슈팅

2026-08-12 · 최초 발행 2026-03-13

Claude Code에서 OpenChrome MCP를 쓰면 Chrome 브라우저 프로필의 쿠키·세션 정보를 동기화해서, 매번 다시 로그인하지 않고도 로그인 상태를 유지한 채 웹 사이트에 접근할 수 있다.

Chrome 브라우저 프로필 (쿠키, 세션 저장)
        │
        ▼
OpenChrome MCP (프로필 쿠키 동기화)
        │
        ▼
Claude Code (로그인 상태로 웹 페이지 접근/조작)

사용 가능한 Chrome 프로필 확인

Chrome 프로필 디렉토리는 OS마다 위치가 다르다.

OS 경로
Linux ~/.config/google-chrome/
macOS ~/Library/Application Support/Google/Chrome/
Windows %LOCALAPPDATA%\Google\Chrome\User Data\

디렉토리 구조는 Default가 기본 프로필이고, 추가 프로필은 Profile 1, Profile 2 식으로 번호가 붙는다.

google-chrome/
├── Default/          # 기본 프로필
├── Profile 1/        # 추가 프로필 1
├── Profile 2/        # 추가 프로필 2
└── ...

Claude Code 대화에서 list_profiles 도구를 실행하면 사용 가능한 프로필 목록을 확인할 수 있다. 계정별로 여러 프로필을 쓰고 있다면 이런 식으로 나온다.

# 실행 예시 결과
Profile 1: "업무 계정" (work@company-domain)
Profile 5: "개인 계정" (personal@personal-domain)
Profile 6: "업무 계정 2" (work2@company-domain)
Profile 7: "Person 1"

MCP 서버 설정

설정 파일은 전역으로 적용할지 프로젝트 단위로 적용할지에 따라 경로가 다르다.

범위 파일 경로
전역 (모든 프로젝트) ~/.claude/.mcp.json
프로젝트 전용 {프로젝트루트}/.mcp.json

프로필을 지정하지 않으면 기본 설정으로 동작한다.

{
  "mcpServers": {
    "openchrome": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "--prefer-online",
        "-y",
        "openchrome-mcp@latest",
        "serve",
        "--auto-launch"
      ],
      "env": {}
    }
  }
}

특정 프로필에 연결하려면 --profile-directory 옵션을 추가한다.

{
  "mcpServers": {
    "openchrome": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "--prefer-online",
        "-y",
        "openchrome-mcp@latest",
        "serve",
        "--auto-launch",
        "--profile-directory",
        "Profile 1"
      ],
      "env": {}
    }
  }
}

"Profile 1" 부분은 list_profiles에서 확인한 디렉토리명으로 바꾸면 된다. 예를 들어 계정별로 다음처럼 지정할 수 있다.

// 업무 계정 사용
"--profile-directory", "Profile 1"

// 개인 계정 사용
"--profile-directory", "Profile 5"

// 기본 프로필 사용
"--profile-directory", "Default"

프로필 모드 이해

Chrome이 완전히 닫혀 있는지, 실행 중인지에 따라 연결 방식이 달라진다.

구분 Real Profile (Chrome 닫힘) Persistent Profile (Chrome 실행 중)
쿠키 직접 사용 동기화 복사본 사용
확장 프로그램 사용 가능 사용 불가
저장된 비밀번호 사용 가능 사용 불가
localStorage 직접 사용 새로 생성
북마크 사용 가능 사용 불가
안정성 높음 보통

지금 어느 모드로 동작 중인지는 oc_profile_status 도구로 확인할 수 있다. Chrome이 실행 중이면 Persistent 모드로 잡힌다.

// Chrome 실행 중일 때 (Persistent 모드)
{
  "profileType": "persistent",
  "capabilities": {
    "extensions": false,
    "savedPasswords": false,
    "sessionCookies": true,
    "persistentStorage": true
  },
  "realProfileLocked": true
}

사용 방법

기본 흐름은 단순하다. Chrome에서 평소처럼 로그인해두고, Claude Code를 실행한 뒤, OpenChrome 도구로 해당 사이트에 접근하면 로그인 상태가 그대로 유지된다.

1. Chrome에서 원하는 사이트에 로그인 (평소처럼)
2. Claude Code 실행
3. OpenChrome 도구로 해당 사이트 접근 → 로그인 상태 유지됨

실제 도구 호출 순서는 이런 식이다.

# 1단계: 로그인된 사이트에 접근
→ navigate 도구: url="https://redmine.example.com"

# 2단계: 페이지 내용 읽기
→ read_page 도구

# 3단계: 특정 요소 찾기
→ find 도구: query="이슈 목록"

# 4단계: 클릭 등 인터랙션
→ interact 도구: action="click", ref="element-ref"

문제 해결

로그인이 풀려 있다면 원인은 대체로 다음 네 가지 중 하나다.

원인 해결 방법
쿠키 동기화 실패 Chrome을 닫고 Claude Code 재시작
세션 만료 Chrome에서 다시 로그인 후 재시작
프로필 미지정 --profile-directory 옵션 확인
잘못된 프로필 list_profiles로 디렉토리명 재확인

Chrome을 닫을 수 없는 상황이라면 Persistent 모드로 동작하며 쿠키만 동기화된다. 대부분의 사이트에서는 정상 작동하지만, 보안이 강한 일부 사이트에서는 인증이 실패할 수 있다.

매번 도구 사용 시 권한 확인이 번거로우면 setup 커맨드를 실행하거나

npx openchrome-mcp setup

~/.claude/settings.json에 직접 추가해도 된다.

{
  "permissions": {
    "allow": ["mcp__openchrome__*"]
  }
}

주요 옵션 정리

옵션 설명 기본값
--auto-launch 브라우저 자동 실행 사용 안 함
--profile-directory Chrome 프로필 디렉토리 지정 Default
--headless 헤드리스 모드 (화면 없이) false
--user-data-dir Chrome 데이터 디렉토리 커스텀 경로 OS 기본 경로
OpenChromeMCPClaude Code브라우저 자동화Chrome 프로필