Skip to main content
Glama
thenailedone

firefox-browser-control

by thenailedone

Firefox Browser Control for Codex

Codex에서 이미 열어 둔 Firefox 세션을 제어하세요. 이 플러그인은 비공개가 아닌 탭을 나열하고 정리하며, 네이티브 탭 그룹을 만들고, 탭을 안전하게 열거나, 활성화하거나, 이동하거나, 닫을 수 있습니다.

Firefox 확장 프로그램과 해당 브리지는 TCP 리스너, 원격 측정, 광고, 확장 프로그램의 직접적인 네트워크 요청이 없는 상태로 로컬에서 실행됩니다. 사용자가 요청한 브라우저 데이터는 사용자가 구성한 Codex 환경으로 전달됩니다. 개인정보 보호정책을 참조하세요.

할 수 있는 일

  • Firefox 동반 확장 프로그램이 연결되어 있는지 확인합니다.

  • 탭과 네이티브 탭 그룹을 나열합니다.

  • 선택한 탭을 그룹화하거나 URL/제목 일치 기준으로 탭을 그룹화합니다.

  • 탭 그룹 해제, 열기, 활성화, 이동, 닫기를 수행합니다.

페이지 콘텐츠를 읽거나, 요소를 클릭하거나, 양식을 작성하거나, 비공개 창을 검사하거나, HTTP(S)가 아닌 URL로 이동하는 것은 의도적으로 불가능합니다.

프롬프트 예시:

  • “Firefox에서 열린 Gmail 탭을 그룹화해 줘.”

  • “Firefox에서 열린 탭 목록을 보여 줘.”

  • “프로젝트 문서를 새 Firefox 탭에서 열어 줘.”

Related MCP server: universal-browser-bridge

설치

전체 설정 방법은 plugins/firefox-browser-control/INSTALL.md에서 확인하세요. 간략한 요약은 다음과 같습니다:

git clone https://github.com/thenailedone/firefox-browser-control.git
cd firefox-browser-control
codex plugin marketplace add "$PWD"
codex plugin add firefox-browser-control@firefox-browser-control
node plugins/firefox-browser-control/scripts/install-native-host.mjs

사용할 수 있게 되면 Mozilla Add-ons에서 서명된 확장 프로그램을 설치하세요. 개발 중에는 about:debugging#/runtime/this-firefox에서 plugins/firefox-browser-control/extension/manifest.json을 임시로 로드하세요. 그런 다음 새 Codex 작업을 시작하세요.

작동 방식

구현체는 네 부분으로 이루어진 로컬 브리지입니다:

Codex
  │ MCP over stdio
  ▼
MCP server (Node.js)
  │ newline-delimited JSON over a user-only Unix socket
  ▼
Firefox native-messaging host (Node.js)
  │ Firefox native messaging over stdin/stdout
  ▼
Firefox WebExtension
  │ WebExtension APIs
  ▼
Non-private tabs and tab groups in the running Firefox profile
  1. Codex는 플러그인 매니페스트에서 .mcp.json을 발견하고 scripts/mcp-server.mjs를 실행합니다.

  2. MCP 서버는 firefox_list_tabs, firefox_group_tabs 같은 명확히 정의된 도구를 노출합니다.

  3. 도구 호출에는 임의의 요청 ID가 할당되고 로컬 Unix 소켓을 통해 전송됩니다.

  4. scripts/native-host.mjs는 Firefox의 길이 접두부 네이티브 메시징 프로토콜을 통해 그 요청을 중계합니다.

  5. extension/background.js는 Firefox WebExtension API로 요청된 작업을 수행하고 같은 경로로 결과를 반환합니다.

Firefox 확장 프로그램이 연결되어 있는 동안 네이티브 호스트가 소켓을 소유합니다. MCP 서버는 도구 호출마다 짧은 수명의 소켓 연결을 만들기 때문에 Firefox 외부에 백그라운드 데몬이 필요하지 않습니다.

프로토콜이 두 개인 이유

Codex는 stdio를 통해 Model Context Protocol을 사용하지만, Firefox 확장 프로그램은 네이티브 메시징을 통해서만 로컬 프로그램과 대화할 수 있습니다. 작은 Unix 소켓 릴레이가 TCP 포트를 열거나 브라우저를 네트워크에 노출하지 않으면서 두 환경을 연결합니다.

제공 도구

도구

설명

firefox_status

확장과 네이티브 브리지가 연결되었는지 확인합니다.

firefox_list_tabs

탭 ID, 정제된 출처, 창, 그룹 ID를 반환합니다.

firefox_list_groups

Firefox 네이티브 탭 그룹 ID와 표시 상태를 나열합니다.

firefox_group_tabs

명시된 탭 ID를 이름 있는 그룹에 넣습니다.

firefox_group_tabs_by_url

URL/제목으로 탭을 매칭하여 창별로 그룹화합니다.

firefox_ungroup_tabs

탭을 현재 그룹에서 제거합니다.

firefox_open_tab

URL을 엽니다.

firefox_navigate_tab

선택한 탭의 주소를 이동합니다.

firefox_activate_tab

탭과 해당 창에 초점을 맞춥니다.

firefox_close_tabs

선택한 탭을 닫습니다.

보안 모델

  • 브리지는 네트워크 포트가 아닌 Unix 소켓에서 수신합니다.

  • 소켓은 현재 운영 체제 사용자로 제한됩니다(0600).

  • Firefox는 설치 프로그램이 선언한 확장 프로그램 ID의 네이티브 메시지만 수락합니다.

  • 비공개 브라우징 탭은 확장 프로그램에 보이지 않습니다.

  • 요청 URL, URL 쿼리/프래그먼트, 페이지 제목, 페이지 내용은 Codex에 반환되지 않으며, 탭 목록 결과에는 출처만 포함됩니다.

  • MCP 서버는 명시적 JSON Schema와 고정된 도구-메서드 매핑을 적용합니다.

  • 요청은 10초 후에 타임아웃됩니다.

  • 확장 프로그램은 고정된 디스패처의 탭 메서드만 실행하고, 이동은 HTTP(S) URL 및 about:blank로 제한합니다.

  • 임시 디렉터리 폴백은 사용자별 0700 디렉터리를 만들고, 소켓은 0600입니다.

확장 프로그램은 어떤 웹사이트 호스트 권한도 요청하지 않으며, 직접적인 네트워크 요청도 보내지 않습니다. 정제된 브라우징 활동은 사용자가 Codex 탭 관리 명령을 실행할 때만 전송됩니다.

저장소 구조

.agents/plugins/marketplace.json             Codex marketplace catalog
plugins/firefox-browser-control/
  .codex-plugin/plugin.json                  Plugin metadata
  .mcp.json                                  MCP server launch configuration
  extension/                                 Firefox WebExtension
  scripts/mcp-server.mjs                     MCP tool server
  scripts/native-host.mjs                    Firefox/native-socket relay
  scripts/install-native-host.mjs            Native-host installer
  scripts/review-client.mjs                  Standalone reviewer test client
  skills/control-firefox/SKILL.md            Agent usage guidance

정규화

Node.js 20 이상에서 저장소 검사를 실행하세요:

npm test

AMO 제출용 확장 프로그램 아카이브를 빌드하세요:

npm run build:extension

ZIP 파일은 artifacts/에 기록됩니다. 스토어 등록 문구, 검토자 지침, 제출 체크리스트는 store/AMO_SUBMISSION.md에 있습니다.

확장 프로그램을 변경한 후에는 about:debugging에서 임시 애드온 옆에 있는 Reload를 사용하세요. 플러그인 메타데이터, 스킬, MCP 서버를 변경한 경우에는 플러그인을 다시 설치하고 새 Codex 작업을 시작합니다.

제한 사항

  • 확장 프로그램은 서명되어 있지 않으므로 Firefox를 다시 시작한 뒤 다시 로드해야 합니다.

  • 자동 네이티브 호스트 설치 는 현재 Linux와 macOS를 지원합니다.

  • 릴레이가 현재 Unix 소켓을 사용하므로 Windows 네이티브는 지원되지 않습니다.

  • 확장 프로그램은 Node.js, 네이티브 호스트, 그리고 Codex 또는 독립형 검토 클라이언트가 필요합니다.

  • 이 것은 독립 커뮤니티 통합이며 Mozilla 또는 OpenAI와 제휴하거나 보증을 받지 않습니다.

License

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP-compatible AI agents to securely control Chrome tabs via a local bridge, with explicit per-tab sharing and human approval for consequential actions.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP-capable CLIs to operate real, already-logged-in Firefox tabs via a WebExtension and native messaging, without simulated input. Supports navigation, clicking, typing, reading, screenshots, and console/network capture with policy gating and frame awareness.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Local MCP server for Codex that provides on-demand, read-only access to Edge tabs and bookmarks, plus controlled interaction with agent-owned tabs. Requires manual activation via the browser extension and enforces a fail-closed security model.

View all related MCP servers

Related MCP Connectors

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thenailedone/firefox-browser-control'

If you have feedback or need assistance with the MCP directory API, please join our Discord server