claudeers.

🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?

Claim this page →
// Other

MacPilot

Turn your Mac into a wireless trackpad, keyboard & Stream-Deck — controlled from any phone's browser. No app install. Open source, built with Claude Code.

// Other[ api ][ web ][ mobile ][ claude ]#claude#claude-code#keyboard#macos#macros#menubar#remote-control#stream-deck#otherMIT$open-sourceupdated 15 days ago
Actively maintained
96/100
last commit 14 days ago
last release none
releases 0
open issues 0
// install
git clone https://github.com/joonlab/MacPilot

JoonLab

MacPilot

Turn your Mac into a wireless trackpad, keyboard & Stream-Deck — controlled from any phone's browser.
No app to install. Open source. Built end-to-end with Claude Code.

아이폰·아이패드·안드로이드 어디서든 브라우저만 열면 맥을 마우스/키보드/단축키 패널로 조작. 앱 설치 0.

🎬 Demo

MacPilot demo

▶︎ Open as mp4 file


What is this?

MacPilot runs a tiny menu-bar helper on your Mac that serves a web app over your local Wi-Fi. Open the URL on any phone or tablet and you get a full trackpad + keyboard + customizable shortcut/macro deck — all in the browser.

  • No App Store. No install on the phone. Just open a URL (or scan the QR in the menu bar).
  • Works on iOS, iPadOS, Android — anything with a browser.
  • Free & open source — a replacement for paid apps like Remote Mouse, Unified Remote, etc.

원래 비슷한 기능은 유료 앱을 결제해서 써야 했지만, 이건 무료 오픈소스이고 폰에 앱을 깔 필요조차 없습니다.

✨ Highlights

  • 🖱️ Real-trackpad feel — cursor with pointer acceleration, tap / double-tap / right-click, tap-and-drag, two-finger scroll with momentum, pinch-zoom, and three-finger swipes (Mission Control / spaces-style)
  • ⌨️ Full keyboard — types real text incl. Korean & emoji (Unicode), plus held-modifier combos (hold ⌘ and type)
  • 🎛️ Stream-Deck-style deck — folders, swipeable pages, and buttons for:
    • Shortcuts up to 4-key combos (⌘⌃⇧⌥ + any key)
    • Text snippets · App / link / deep-link launch (pick from your installed apps, with icons)
    • Multi-step macros (key → delay → text → launch, in sequence)
    • Per-button icons & colors, drag-to-reorder, move between folders
    • → covers much of what a hardware Stream Deck does — on a device you already own, for free
  • 🔊 System controlsvolume up / down / mute and screen brightness, right from the deck (with the native macOS HUD)
  • 🔁 Deck synced across devices — the Mac stores it, so iPhone & iPad share the same deck
  • 🎨 Polished UI — LG-inspired theme, light / dark / system toggle, adjustable sensitivity
  • 🛰️ Always-on local server — runs via launchd; auto-starts at login, auto-restarts. No Xcode needed after setup.
  • 🔒 Local only — everything stays on your Wi-Fi; nothing goes to the cloud.

How it works

 Phone / Tablet (any browser)                 Your Mac (menu-bar helper)
 ┌───────────────────────┐   Wi-Fi / LAN     ┌──────────────────────────┐
 │  Trackpad · Keyboard  │  HTTP + WebSocket │  NWListener web server    │
 │  Deck (shortcuts/macro)│ ───────────────▶ │  → CGEvent (mouse/keys)   │
 └───────────────────────┘                   │  → open (apps/links)      │
        (just a URL)                          └──────────────────────────┘

The web client is served by the Mac itself and is plain HTML/CSS/JS with zero external dependencies. The Mac side is a small Swift menu-bar app that hand-rolls the HTTP+WebSocket server (no frameworks) and injects input via Quartz Event Services (CGEvent).

Requirements

  • macOS 13+ (built & tested on macOS 26, Apple Silicon)
  • Xcode 16+ and XcodeGen (brew install xcodegen) — to build, once, on the Mac
  • A phone/tablet on the same Wi-Fi as the Mac

Install

git clone https://github.com/joonlab/MacPilot.git
cd MacPilot
brew install xcodegen          # if you don't have it
xcodegen generate
open MacPilot.xcodeproj
  1. In Xcode → target MacPilotHelperSigning & Capabilities → set Team to your Apple ID (a free account works).
  2. Run (▶). A 📡 icon appears in the menu bar.
  3. Click the menu-bar icon → grant Accessibility (System Settings → Privacy & Security → Accessibility → enable MacPilot Helper). Required for input injection — one time, persists.
  4. On your phone, open the http://<your-mac-name>.local:8765 shown in the menu (or scan the QR).
./deploy.sh

Builds a Release app into ~/Applications and installs a launchd LaunchAgent so it starts at login and auto-restarts — you never need to open Xcode again. See SERVER.md for management commands.

Gesture reference

Gesture (on phone trackpad)Action on Mac
1-finger move / tapMove cursor / left click
Double-tapDouble click
Tap then dragDrag (select / move)
Two-finger dragScroll (with momentum)
Two-finger pinchZoom (⌘+/−)
Three-finger ←→⌘← / ⌘→
Three-finger ↑ / ↓Mission Control / App Exposé
Left / Right click buttons (below the pad)Click — or press-and-hold + drag on the pad for a real drag-select / move

Architecture

MacHelper/Sources/        Swift menu-bar helper
  HelperServer.swift        NWListener: HTTP + WebSocket, deck sync, app list
  HTTPWebSocketConnection   hand-rolled HTTP + WS framing (no dependencies)
  EventInjector.swift       CGEvent mouse/keyboard/scroll + text + macros
  AppList / DeckStore       installed-app scan, deck persistence
MacHelper/Web/            Web client (served to the phone)
  index.html / style.css / app.js   vanilla, no framework
project.yml               XcodeGen project definition
deploy.sh                 build → ~/Applications → launchd restart

Windows support (experimental)

A separate Windows helper (C# / .NET 9) lives under WindowsHelper/ and reuses the same web client and WebSocket protocol — the macOS build is untouched. It runs as a tray app: a TcpListener HTTP+WebSocket server + Win32 SendInput injection, zero runtime NuGet dependencies.

MacPilot Windows port architecture: phone browser → Wi-Fi/LAN HTTP+WebSocket:8765 → Windows helper (TcpListener, Command Dispatcher, SendInput, app launch, volume, optional PIN pairing)

dotnet build .\WindowsHelper\MacPilot.Windows.sln -c Release
dotnet test  .\WindowsHelper\MacPilot.Windows.sln -c Release
dotnet run --project .\WindowsHelper\src\MacPilot.Windows

Mac / Windows feature parity

FeaturemacOSWindows
Trackpad move / drag / click / double-click
Two-finger scroll✅ (direction tunable)
Keyboard shortcuts (⌘→Ctrl mapping)
Unicode text (Korean / emoji)
Macros, app/link launch
Installed-app picker✅ (.app)⚠️ Start-Menu .lnk (no UWP yet)
Volume up / down / mute
Screen brightness⚠️ laptop panel only (WMI, best-effort)
3-finger gestures / pinch-zoom⚠️ best-effort key mappings (Win+Tab / Ctrl+Win+←→ / Ctrl±)
Always-on serverlaunchdtray app (+ optional Startup shortcut, see scripts/)
Optional PIN pairingn/a--pin (off by default; no client change)
Inject into elevated/secure windowsn/a❌ blocked by Windows UIPI

Windows helper is LAN/localhost only and unauthenticated by default, same as macOS. See docs/WINDOWS.md for the firewall note and security guidance.

Security

LAN-only and unauthenticated by default — anyone on the same Wi-Fi can connect. Keep it on a trusted home network and do not expose port 8765 to the internet.

Credits & Attribution

Made by Park Joon (박준) — JoonLab, built end-to-end with Claude Code.

If you fork, modify, or redistribute this project, please keep the credit and link back to the original repo: https://github.com/joonlab/MacPilot — the MIT license also requires retaining the copyright & license notice.

이 프로젝트를 변형·재배포해서 쓰실 땐 원저작자(JoonLab / 박준)와 위 repo 링크를 표기해 주세요.

License

MIT © 2026 Park Joon (JoonLab)

// compatibility

Platformsapi, web, mobile
Operating systems
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageC#

// faq

What is MacPilot?

Turn your Mac into a wireless trackpad, keyboard & Stream-Deck — controlled from any phone's browser. No app install. Open source, built with Claude Code.. It is open-source on GitHub.

Is MacPilot free to use?

MacPilot is open-source under the MIT license, so it is free to use.

What category does MacPilot belong to?

MacPilot is listed under other in the Claudeers registry of Claude-compatible tools.

0 views
21 stars
unclaimed
updated 15 days ago

// embed badge

MacPilot on Claudeers
[![Claudeers](https://claudeers.com/api/badge/macpilot.svg)](https://claudeers.com/macpilot)

// retro hit counter

MacPilot hit counter
[![Hits](https://claudeers.com/api/counter/macpilot.svg)](https://claudeers.com/macpilot)

// reviews

// guestbook

0/500

// related in Other

🔓

Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking, organization, and programmability.

// othermanaflow-ai/Swift23,559NOASSERTION[ claude ]
🔓

Huashu Design · HTML-native design skill for Claude Code · Claude Code 里 HTML 原生的设计 skill · 高保真原型 / 幻灯片 / 动画 + 20 设计哲学 + 5 维评审 + MP4 导出 · Agent-agnostic

// otheralchaincyf/HTML20,855MIT[ claude ]
🔓

一份通俗易懂、风趣幽默的Java学习指南,内容涵盖Java基础、Java并发编程、Java虚拟机、Java企业级开发、Java面试等核心知识点。学Java,就认准二哥的Java进阶之路😄

// otheritwanger/Java17,140[ claude ]
🔓

🎬 卡卡字幕助手 | VideoCaptioner - 基于 LLM 的智能字幕助手 - 视频字幕生成、断句、校正、字幕翻译全流程处理!- A powered tool for easy and efficient video subtitling.

// otherWEIFENG2333/Python15,241GPL-3.0[ claude ]
→ see how MacPilot connects across the ecosystem