computer-use-linux
무엇인가
computer-use-linux는 리눅스 데스크톱 제어를 MCP 도구로 노출하는 Rust 서버 겸 CLI다. 접근성 트리 판독, 창 열거와 포커스, 스크린샷 캡처, 클릭·드래그·스크롤·키 입력·문자 입력, 시맨틱 접근성 액션 호출까지를 하나의 도구 집합으로 규정한다.
어떻게 동작하나
동작 방식은 규칙 파일 주입이 아니라 프로세스 등록이다. MCP 호스트가 computer-use-linux 바이너리를 spawn하면 doctor, list_apps, list_windows, focused_window, get_app_state, screenshot, click, drag, scroll, press_key, type_text, perform_action, set_value, setup_accessibility, setup_window_targeting 도구가 세션에 등록된다. doctor는 플랫폼·포털·AT-SPI·윈도잉·입력 상태와 readiness 요약, 백엔드 능력 맵을 단일 JSON으로 반환한다.
무엇과 다른가
다른 컴퓨터 사용 서버와의 차이는 백엔드 선택 절차에 있다. macOS 전용 서버는 AppKit·AXUIElement·CGEvent에 의존하고, 리눅스 대상 서버는 xdotool로 X11 루트 창을 두드리거나 스크린샷 OCR에 기댄다. 이 서버는 Wayland에서 org.freedesktop.portal.RemoteDesktop을 우선 쓰고 ydotool/ydotoold(uinput)를 결정적 폴백으로 두며, 문자 입력은 wtype을 먼저 시도해 유니코드와 활성 레이아웃을 보존한다. 창 레지스트리는 GNOME Shell 확장, GNOME Shell Introspect, COSMIC 헬퍼, KWin DBus 스크립팅, hyprctl, i3 IPC, X11/EWMH 순으로 시도하고 어느 백엔드가 채택됐는지 또는 왜 실패했는지 보고한다.
어떻게 쓰나
설치는 npm 전역 설치 한 줄로 끝나고, 이후 computer-use-linux doctor | jq .readiness로 준비 상태를 확인한다. MCP 호스트 설정에 서버 실행 명령을 등록하면 도구가 노출된다. AT-SPI 트리가 비어 있으면 setup_accessibility로 GNOME의 toolkit-accessibility를 켜고, org.gnome.Shell.Introspect가 잠겨 있으면 setup_window_targeting으로 번들 GNOME Shell 확장을 설치·활성화한다.
전제와 한계
전제는 리눅스 데스크톱이다. Wayland 우선, X11은 best-effort이며 GNOME·KDE/KWin·Hyprland·i3·COSMIC을 대상으로 한다. COSMIC Wayland 창 관리는 별도 computer-use-linux-cosmic 헬퍼가 필요하다. ATK를 노출하지 않는 캔버스·게임·X 클라이언트는 픽셀 좌표 폴백에 의존하고, 스크린샷은 기본 1920px·2MiB 상한이 걸린다. DBus 스크린샷 경로가 모두 거부되면 gnome-screenshot 실행으로 폴백한다.
관련 논문 1
유사 도구
- agent-workspace-linux에이전트가 실제 데스크톱 대신 숨겨진 X11 워크스페이스를 띄워 GUI·브라우저 작업을 하도록 MCP 도구 호출 절차와 격리 규칙을 주입하는 Claude Code 스킬이다.
- dev-browser에이전트가 Chrome을 짧은 JavaScript 스크립트로 조작하도록 브라우저 제어 절차와 스냅샷·ref 규약을 주입하는 Claude Code 스킬이다.
- mcp-useTypeScript로 MCP 서버와 ChatGPT·Claude용 뷰 앱을 정의하도록 Zod 스키마·도구 등록·React 뷰 바인딩·Inspector 검증 절차를 에이전트에 주입하는 Claude Code 플러그인이다.
- CowAgent작업 계획·도구 호출·스킬 실행·장기 기억 절차를 스킬 매니페스트와 MCP 설정으로 주입하는 Claude Code용 스킬 팩이다.