업데이트로 돌아가기
New releaseSep 19, 2026

firefox-devtools-mcp v0.10.3

Firefox DevTools용 Model Context Protocol 서버 - AI 어시스턴트가 WebDriver BiDi를 통해 Firefox 브라우저를 검사하고 제어할 수 있도록 지원

공유

Firefox DevTools MCP

npm version CI codecov License: MIT License: Apache 2.0

Glama

AI 에이전트가 Firefox를 사용할 수 있게 해주는 Model Context Protocol 서버입니다. 두 가지 주요 사용 사례가 있습니다:

  • 에이전트 기반 브라우징: 에이전트가 페이지 읽기, 양식 작성, 웹사이트의 다단계 흐름 진행 등 일반적인 작업에 브라우저를 사용합니다.
  • 에이전트 지원 웹 개발: 에이전트가 작업 중인 페이지를 로드하고 콘솔, 네트워크 요청, 디버거, 프로파일러와 같은 개발자 도구로 검사합니다.

WebDriver BiDi(Selenium WebDriver 경유)를 통해 Firefox를 제어하며, Claude Code, Claude Desktop, Cursor, Cline 및 기타 MCP 클라이언트와 함께 작동합니다.

저장소: https://github.com/mozilla/firefox-devtools-mcp

참고: 이 MCP 서버는 로컬 Firefox 브라우저 설치가 필요하며 glama.ai와 같은 클라우드 호스팅 서비스에서는 실행할 수 없습니다. 로컬에서 실행하려면 npx @mozilla/firefox-devtools-mcp@latest를 사용하거나, 제공된 Dockerfile과 함께 Docker를 사용하세요.

보안

브라우저 MCP 서버는 내재적인 위험을 수반합니다. 몇 가지 핵심 실천 사항:

  • 전용 Firefox 프로필을 사용하세요. 절대 일반 프로필에 대해 서버를 실행하지 마세요 — 에이전트는 쿠키와 저장된 세션을 포함하여 브라우저가 접근할 수 있는 모든 것에 접근할 수 있습니다.
  • 방문하는 사이트에 주의하세요. 페이지는 에이전트를 조작하도록 설계된 콘텐츠(프롬프트 인젝션)를 반환할 수 있습니다. 직접 제어하거나 신뢰하는 사이트만 사용하세요.
  • 필요한 도구 모듈만 활성화하세요. 기본 basic 프리셋에는 이미 evaluate_script가 포함되어 있으며, --tool-preset slim은 이를 제거합니다. --tool-preset developer(디버깅, 네트워크, 콘솔, 프로파일러) 및 --tool-preset mozilla(권한 있는 컨텍스트)와 같은 상위 프리셋은 에이전트가 할 수 있는 작업을 더욱 확장합니다.

위험에 대한 전체 분석과 취약점 보고 방법은 SECURITY.md를 참조하세요.

요구 사항

  • Node.js ≥ 20.19.0
  • Firefox 100+ 설치됨(자동 감지되거나 --firefox-path 전달)

Claude Code 또는 Codex와 함께 설치 및 사용 (npx)

권장: npm에서 게시된 최신 버전을 실행하려면 npx를 사용하세요.

옵션 A — CLI

Claude Code

claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest

# Headless + viewport via args
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720

# Or via environment variables
claude mcp add firefox-devtools npx @mozilla/firefox-devtools-mcp@latest \
  --env START_URL=https://example.com \
  --env FIREFOX_HEADLESS=true

Codex

codex mcp add firefox-devtools -- npx @mozilla/firefox-devtools-mcp@latest

# Headless + viewport via args
codex mcp add firefox-devtools -- \
  npx @mozilla/firefox-devtools-mcp@latest -- --headless --viewport 1280x720

# Or via environment variables
codex mcp add firefox-devtools \
  --env START_URL=https://example.com \
  --env FIREFOX_HEADLESS=true \
  -- npx @mozilla/firefox-devtools-mcp@latest

옵션 B — 구성 파일 편집

Claude Code

Claude Code의 mcp_settings.json에 추가:

{
  "mcpServers": {
    "firefox-devtools": {
      "command": "npx",
      "args": ["-y", "@mozilla/firefox-devtools-mcp@latest", "--headless", "--viewport", "1280x720"],
      "env": {
        "START_URL": "about:blank"
      }
    }
  }
}

Codex

~/.codex/config.toml에 다음을 추가하세요:

[mcp_servers.firefox-devtools]
command = "npx"
args = ["-y", "@mozilla/firefox-devtools-mcp@latest", "--headless", "--viewport", "1280x720"]

[mcp_servers.firefox-devtools.env]
START_URL = "about:blank"

옵션 C — 헬퍼 스크립트 (로컬 개발 빌드)

npm run setup
# Choose Claude Code; the script saves JSON to the right path

MCP Inspector로 사용해 보기

npx @modelcontextprotocol/inspector npx @mozilla/firefox-devtools-mcp@latest --start-url https://example.com --headless

그런 다음 다음과 같은 도구를 호출합니다:

  • list_pages, select_page, navigate_page
  • take_snapshot 후 click_by_uid / fill_by_uid
  • list_network_requests (항상 캡처), get_network_request
  • list_downloads (항상 캡처), set_download_behavior
  • screenshot_page, list_console_messages

CLI 옵션

플래그 또는 환경 변수(이름은 오른쪽에 표시)를 전달할 수 있습니다:

  • --firefox-path — Firefox 바이너리의 절대 경로
  • --headless — UI 없이 실행 (FIREFOX_HEADLESS=true)
  • --viewport 1280x720 — 초기 창 크기
  • --profile-path — 특정 Firefox 프로필 사용. Firefox는 해당 경로의 firefox_devtools_mcp_profile 하위 폴더에서 실행되며 .firefox-devtools-mcp 파일로 표시됩니다. --profile-path를 표시된 프로필로 지정하면 해당 프로필을 직접 재사용합니다
  • --firefox-arg — 추가 Firefox 인수 (반복 가능)
  • --start-url — 시작 시 이 URL 열기 (START_URL)
  • --accept-insecure-certs — TLS 오류 무시 (ACCEPT_INSECURE_CERTS=true)
  • --connect-existing — 새로 실행하는 대신 이미 실행 중인 Firefox에 연결 (CONNECT_EXISTING=true)
  • --marionette-port — connect-existing 모드용 Marionette 포트, 기본값 2828 (MARIONETTE_PORT)
  • --idle-timeout — 도구 호출 없이 이 시간(초)이 지나면 connect-existing 세션이 Firefox를 해제합니다, 기본값 1800. Firefox는 한 번에 하나의 클라이언트만 허용하므로, 해제된 후에야 다른 클라이언트가 연결할 수 있습니다. 다음 도구 호출 시 다시 연결하여 그 시점에 Firefox에서 활성화된 탭을 선택합니다 (IDLE_TIMEOUT)
  • --pref name=value — 시작 시 moz:firefoxOptions를 통해 Firefox 환경 설정 지정 (반복 가능)
  • --tool-preset — 활성화할 도구 모듈 선택: slim, basic (기본값), developer, mozilla, 또는 all. 도구 모듈 및 프리셋을 참조하세요. (TOOL_PRESET)
  • --tools — 활성화할 도구 모듈의 명시적 목록으로, --tool-preset을 완전히 재정의합니다 (예: --tools pages network script). 도구 모듈 및 프리셋을 참조하세요.
  • --enable-script — 더 이상 사용되지 않음, --tool-preset developer 또는 --tools ... script debugging을 사용하세요. developer 도구 프리셋을 선택합니다. (ENABLE_SCRIPT=true)
  • --enable-privileged-context — 더 이상 사용되지 않음, --tool-preset mozilla 또는 --tools ... privileged prefs를 사용하세요. mozilla 도구 프리셋을 선택합니다. MOZ_REMOTE_ALLOW_SYSTEM_ACCESS=1이 필요합니다 (ENABLE_PRIVILEGED_CONTEXT=true)
  • --android-device — Firefox for Android 모드 활성화; 값은 ADB 기기 시리얼입니다 (예: emulator-5554). adb devices를 실행하여 연결된 기기를 나열하세요. 값을 생략하거나 auto를 사용하면 연결된 단일 기기를 자동으로 선택합니다.
  • --android-wipe-app-data — Android 모드가 대상 앱의 모든 데이터를 삭제함을 확인합니다. --android-device와 함께 필요합니다. (ANDROID_WIPE_APP_DATA=true)
  • --android-package — Android 앱 패키지 이름, 기본값 org.mozilla.firefox. 기타 패키지: Firefox Beta의 경우 org.mozilla.firefox_beta, Firefox Nightly의 경우 org.mozilla.fenix, Firefox Nightly Debug의 경우 org.mozilla.fenix.debug, geckoview의 경우 org.mozilla.geckoview_example (ANDROID_PACKAGE)
  • --unrestricted-save-paths — saveTo 매개변수가 기본 루트 대신 디스크의 어느 위치에나 쓸 수 있도록 허용합니다. 대용량 출력을 디스크에 저장 및 SECURITY.md의 보안 관련 사항을 참조하세요. (UNRESTRICTED_SAVE_PATHS=true)
  • --log-file — MCP 서버 로그를 stderr 대신 파일에 기록합니다. 서버 출력을 숨기는 MCP 클라이언트와의 디버깅 세션에 유용합니다. 상세 디버그 로그도 포함하려면 DEBUG=*를 설정하세요. 예: --log-file /tmp/firefox-mcp.log

도구 모듈 및 프리셋

도구는 모듈로 그룹화됩니다. 명명된 프리셋(--tool-preset) 또는 명시적 목록(--tools)으로 노출할 모듈을 선택합니다. 둘 다 지정된 경우 --tools가 우선하며 프리셋은 무시됩니다.

프리셋 (각각은 이전 프리셋의 상위 집합):

  • slim — 페이지를 탐색하고 상호작용하기 위한 최소 구성
  • basic (기본값) — 일반적인 브라우징을 위한 도구 추가
  • developer — 웹 개발자를 위한 도구 추가
  • mozilla — Firefox 개발자를 위한 도구 추가
  • all — 모든 모듈

모듈 목록과 각 프리셋에 포함된 모듈은 docs/tools.md를 참고하세요.

기본값인 basic에는 script가 포함되므로 evaluate_script 도구도 포함된다는 점에 유의하세요. 이것이 공격 표면에 미치는 영향은 SECURITY.md를 참고하고, 이를 제외하려면 --tool-preset slim 또는 명시적인 --tools 목록을 사용하세요.

# Use the developer preset (adds network, console, debugging and profiler tools)
npx @mozilla/firefox-devtools-mcp --tool-preset developer

# Enable only the modules you need
npx @mozilla/firefox-devtools-mcp --tools pages network console

카테고리