SkillAgentSearch skills...

OpenAirDisplay

Use an old iMac (2015+) or any old Mac as a 4K external display for your MacBook. Wired or wireless, free, open source, with MCP control.

Install / Use

claude mcp add sanangoyal -- npx -y github:sanangoyal/OpenAirDisplay

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

81/100

Supported Platforms

Claude Code
Claude Desktop

Tags

Our assessment of OpenAirDisplay

OpenAirDisplay scores 81/100 on our quality scale, 3477th of 4,632 Development & Engineering skills we index.

Its MCP Server is 15 KB long, well organised into 14 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
18/20
Description
15/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 11 days ago, so OpenAirDisplay is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

OpenAirDisplay compared with similar skills

All 4 of these similar skills score higher than OpenAirDisplay; compare them before choosing.

SkillScoreStarsUpdatedFormat
OpenAirDisplay (this skill)by sanangoyal81311d agoMCP Server
taste-skillby Leonxlnx100108.6k2d agoCLAUDE.md
Agent-Reachby Panniantong100108.0k1d agoCLAUDE.md
headroomby headroomlabs-ai10078.7ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10069.0ktodayCLAUDE.md

Frequently asked questions

How do I install OpenAirDisplay?
Run claude mcp add sanangoyal -- npx -y github:sanangoyal/OpenAirDisplay. The install tabs above show the steps for each supported agent.
Which AI agents does OpenAirDisplay work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is OpenAirDisplay safe to use?
It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is OpenAirDisplay still maintained?
The repository was last updated 11 days ago, so OpenAirDisplay is actively maintained.
<div align="center"> <img src="docs/hero.svg" alt="OpenAirDisplay: use an old iMac or any old Mac as a 4K external display for your MacBook" width="100%">

OpenAirDisplay

Give your old iMac a second life as a 4K monitor. Turn any Mac from 2015 or newer into a sharp, native-resolution second screen for your MacBook. Wired or wireless. Free and open source.

Download License: MIT macOS 12+ Apple silicon + Intel

Install · Set up · Compare · AI control · FAQ · Roadmap

</div>

Why

That 2015 iMac still has a gorgeous 4K Retina panel. But Apple's Target Display Mode never covered Retina iMacs, Sidecar only works with an iPad, and the paid options want a dongle or a subscription.

OpenAirDisplay fixes that. Your old iMac (or old MacBook, or a Mac mini on a spare monitor) becomes a true extended display for your newer Mac. Not a mirror: a second desktop you drag windows onto.

| | | |---|---| | 🖥️ Native resolution | Matches the other Mac's panel, HiDPI included. That is 4096 × 2304 on a 2015 iMac 4K, so text stays crisp. | | ⚡ Low latency | Hardware H.264, and HEVC where supported. About 1 ms round trip over a cable and 50 fps at 4K in our tests. | | 🔌 Wired or wireless | Thunderbolt or Ethernet is best, Wi-Fi works, and it switches to a cable by itself the moment you plug one in. | | 🔒 Private | A direct, encrypted link between your two Macs. No servers, accounts or telemetry. | | 🤖 AI-controllable | A built-in MCP server lets an assistant diagnose lag or change quality for you. Off by default. |

Early release. Tested on a late-2015 iMac 4K (extra screen) and Apple silicon MacBooks (main Mac, and extra screen too). Expect rough edges, and please report them. Pull requests welcome.

Install

  1. Download OpenAirDisplay-<version>.dmg from the latest release.
  2. Drag the app to Applications on both Macs.
  3. Open it. macOS blocks the first launch because the app isn't notarized yet. Go to System Settings › Privacy & Security, scroll down and click Open Anyway.

Prefer Terminal? xattr -cr /Applications/OpenAirDisplay.app does the same.

<details> <summary>Build from source instead</summary>

Needs only the Xcode Command Line Tools.

xcode-select --install          # once
git clone https://github.com/sanangoyal/OpenAirDisplay && cd OpenAirDisplay
scripts/build.sh --install      # universal app (Intel + Apple silicon) in ~/Applications

Tip: sign with a stable certificate so macOS keeps the Screen Recording permission across rebuilds: SIGN_ID="My Local Signing" scripts/build.sh --install.

</details>

Set up in two minutes

  1. Old Mac (the new screen): open OpenAirDisplay and choose Be the extra screen.
  2. Main Mac: open OpenAirDisplay and choose Use another Mac as my display.
  3. Both Macs show the same 6-digit number. If they match, click Pair on each, and allow Screen Recording when asked.
  4. A new display appears in System Settings › Displays. Arrange it and drag windows over.

That's the one-time part. After this the Macs reconnect by themselves. Press Esc on the extra screen to pause and use that Mac normally.

Requirements

| Role | macOS | Notes | |---|---|---| | Main Mac (sends) | 13 Ventura or later, Apple silicon or Intel | Needs Screen Recording permission | | Extra screen (receives) | 12 Monterey or later, Apple silicon or Intel | Hardware H.264 decode |

Both Macs need to be on the same network, or joined by an Ethernet or Thunderbolt/USB bridge cable.

<details> <summary>Which old Macs qualify?</summary>

macOS 12 Monterey runs on iMacs from late 2015, MacBook Air/Pro from early 2015, and Mac minis from late 2014. That sets the oldest usable extra screen. A Mac stuck on macOS 12 can only be the extra screen; the app locks the sender role there.

Tested: iMac 21.5" 4K (late 2015, macOS 12.7) as extra screen; Apple silicon MacBooks as main Mac and as extra screen. Others should work; reports welcome. 5K iMacs are untested.

</details>

How it works

<img src="docs/how-it-works.svg" alt="Diagram: the main Mac creates a virtual display, captures it, encodes it with hardware H.264 or HEVC, and sends it over an encrypted Thunderbolt, Ethernet or Wi-Fi link to the extra-screen Mac, which decodes and shows it full screen" width="100%">

<sub>Technical: virtual display via the private CGVirtualDisplay API, capture with ScreenCaptureKit, encode with VideoToolbox, one encrypted TCP connection, hardware decode and AVSampleBufferDisplayLayer on the receiver. Discovery uses Bonjour (_odisplay._tcp, port 7777).</sub>

Features

| | | |---|---| | 🪟 Extended, not mirrored | A new virtual display, arranged like any monitor. | | 🔍 4K and beyond | Matches the receiver's panel, including Retina HiDPI. H.264 receivers cap near 56 fps at 4096 × 2304 (hardware decoder limit); HEVC receivers do not. | | 🎞️ HEVC when available | Used automatically when the extra screen can decode it in hardware. Sharper at the same bit rate. | | 🧩 Several extra screens | Pair more than one Mac and tick each under Receivers. Each gets its own virtual display. | | 🎚️ Quality presets | Auto (adapts to the link), Ultra, Best, Balanced, Light, and "Smooth 4K 60". | | 🔀 Automatic link choice | Prefers wired, tells you when a cable appears, or force Wired / Wi-Fi only. | | ⌨️ Keyboard and mouse (opt-in) | Use the old Mac's own keyboard and mouse on your main Mac. Hold Esc for 1.5 s to leave; ⌃⌥⌘D on the main Mac pauses any time. | | 🔊 Sound | Optionally plays the main Mac's audio on the extra screen's speakers. | | ⏰ Wake-on-LAN | Wake a sleeping extra screen from the menu, or automatically. | | 📊 Live stats | Frame rate, bit rate, ping, drops and capture + encode time. | | 🔋 Power saving | Optional 30 fps cap on battery. |

One app, two roles: pick one at first launch and change it any time in Settings.

How it compares

| | OpenAirDisplay | OpenDisplay | Apple Sidecar | Luna Display | Duet Display | |---|---|---|---|---|---| | Old Mac as the display | ✅ | ✅ | ❌ | ✅ | ✅ | | iPhone / iPad as the display | Coming soon | ✅ | iPad only | ✅ | ✅ | | Cost | Free | Free | Built in | One-time purchase | See vendor | | Open source | ✅ MIT | ✅ GPL-3.0 | ❌ | ❌ | ❌ | | Extra hardware | None | None | None | Dongle (about $89.99) | None | | Main Mac needs | macOS 13+ | macOS 14+ | Built in | See vendor | See vendor | | Receiver needs | macOS 12+ | macOS 12+ (Mac), iOS 15+ | n/a | macOS 10.13+ | macOS 10.13 to 10.15 (Intel app) | | HEVC | ✅ | Planned | n/a | n/a | n/a | | Keyboard, mouse and sound from the extra Mac | ✅ | Not yet | n/a | n/a | n/a | | AI / MCP control | ✅ Built in (opt-in) | Not documented | ❌ | ❌ | ❌ | | Account / servers | None | None | Apple Account | Vendor apps | Vendor apps |

<sub>Checked October 2026 from OpenDisplay's README, Apple's Sidecar page, the Luna Display store and duetdisplay.com. Products change; open an issue if something is out of date. Each has strengths we lack: OpenDisplay, Luna and Duet reach iPhone or iPad today, Duet also Windows and Android, and Sidecar is seamless with iPad. "n/a": not applicable or not published.</sub>

Control it with AI (MCP)

Ask your AI assistant "why is my second screen laggy?" and get a real answer. OpenAirDisplay speaks MCP, so assistants and scripts can check status, run diagnostics and change quality without menus.

It is off by default. Turn on Settings › General › Allow AI agents & scripts, then use the copy buttons there. For Claude Code:

claude mcp add openairdisplay -- /Applications/OpenAirDisplay.app/Contents/MacOS/OpenAirDisplay --mcp

Then try "switch to the wired link" or "drop quality to light".

<details> <summary>Other MCP clients, tool list and security</summary>

Config for Claude Desktop, Cursor and others:

{ "mcpServers": { "openairdisplay": { "command": "/Applications/OpenAirDisplay.app/Contents/MacOS/OpenAirDisplay", "args": ["--mcp"] } } }

| Tool | What it does | |---|---| | diagnose | Health report: permissions, duplicate copies, receivers, link, network route, recent events, findings with fixes | | get_status, list_receivers | Live stats and paired Macs | | use_receiver, stop_using_receiver | Start or stop a paired Mac as a screen | | pause_streaming, resume_streaming, restart_stream | Control the stream | | set_quality, set_link | Quality preset; auto, wired or Wi-Fi |

Scripts can call the same commands: OpenAirDisplay --ctl get_status.

Security: the app listens on a Unix socket in ~/Library/Application Support/OpenAirDisplay/ (mode 0600, caller's user checked), never on the network. Pairing a new Mac, keyboard/mouse forwarding, the role and reset are not exposed; they always need you. Settings lists every request with the program that made it.

</details>

FAQ

<details> <summary><b>Can I use a 2015 iMac as an external display for my MacBook?</b></summary>

Yes, that is what this was built for. Install on both Macs, pair them, and the iMac becomes a second display at full native resolution (4096 × 2304 on the 4K model).

</details> <details> <summary><b>Is this a Target Display Mode alternative?</b></summary>

Yes, for Macs that lack it. Target Display Mode does not cover Retina 4K and 5K iMacs, and newer Macs do not have it at all. OpenAirDisplay works over the network or a cable, in software.

</details> <details> <summary><b>Does it work over Wi-Fi?</b></summary>

Yes, and quality adapts automatically, but a cable (Thunderbolt or Ethernet) is far smoother at 4K. With AirDrop set to "Everyone", macOS periodically scans and can cause hitches; set it to Contacts Only.

</details> <details> <summary><b>Why is 4K capped around 56 fps?</b></summary>

Only on H.264 receivers: 4096 × 2304 at 60 fps exceeds H.264 Level 5.2, and level 6 streams black-screen the hardware decoder on Intel iMacs. "Smooth 4K 60" trades a little sharpness for a steady 60. HEVC receivers are not capped.

</details> <details> <summary><b>Can I use an iPad, iPhone, Android phone, TV or Windows PC?</b></summary>

Not yet; see the roadmap.

</details> <details> <summary><b>Can I play Netflix or other protected video on the extra screen?</b></summary>

Play it on the extra Mac itself. macOS hides DRM-protected video from screen capture, as with Sidecar and other display apps, so it shows black when mirrored.

</details> <details> <summary><b>Why the purple recording indicator on my main Mac?</b></summary>

macOS shows it whenever an app captures the screen. OpenAirDisplay captures only its own virtual display, and nothing is stored.

</details> <details> <summary><b>Why isn't it on the Mac App Store?</b></summary>

It relies on a private API (CGVirtualDisplay), which the App Store does

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3
CategoryDevelopment
Updated11d ago
Forks0

Languages

Swift

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low