mcp server
gaze
Give your agents eyes. Native PTZ. No vendor app.
Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 26, 2026Cameras
Gaze talks USB Video Class 1.1. The picture and the gimbal are the same USB device (UVC Camera VendorID_… ProductID_… on AVFoundation, not the localized name). gaze list is the source of truth. Zoom / pan / tilt only if that Camera Terminal has the control. Vendor AI tracking is a separate XU.
| Brand | Models | Status |
|---|---|---|
| Insta360 | Link 2 | Proven see + zoom + pan/tilt (2e1a:4c04) |
| Apple | Studio Display | Proven see + zoom + pan/tilt (05ac:1114) |
| Insta360 | Link, Link 2 Pro, Link 2C | UVC, untested here |
| OBSBOT | Tiny, Tiny SE, Tiny 2, Tiny 3 | UVC PTZ, untested here |
| Logitech | Rally, Rally Bar, Meetup, PTZ Pro 2 | UVC PTZ if the Camera Terminal has pan/tilt |
| Logitech | Brio, MX Brio, C920, StreamCam | UVC zoom if present. No gimbal. |
| Elgato | Facecam, Facecam Pro, Facecam 4K | UVC. No gimbal. |
| Yealink | UVC30, UVC84, UVC86 | UVC PTZ, untested here |
| AVer | CAM520, CAM550, CAM570 | UVC PTZ, untested here |
| PTZOptics, HuddleCamHD, Tenveo, NexiGo | USB UVC SKUs | if the terminal has the control |
Quit the vendor controller first. Insta360 Webcam, OBSBOT Center, Logitech Tune, Elgato Camera Hub, Yealink USB Connect, AVer PTZApp.
Install
macOS (Homebrew):
brew tap Obedience-Corp/tap
brew install gaze
gaze list
Linux (Homebrew on Linux):
brew tap Obedience-Corp/tap
brew install gaze
gaze list
Linux (from source, no Homebrew). Compiler, just, and libjpeg:
just build
just install # ~/.local/bin/gaze (PREFIX=/usr/local just install)
gaze list
The operator must be in the video group (/dev/video*). Same CLI as macOS: gaze see, gaze mcp, optional PTZ when the UVC Camera Terminal exposes it (V4L2 ZOOM/PAN/TILT absolute).
From source on either OS: just build. Protocol tests (no camera): just test-protocol. Hardware matrix: just test-hw.
Release binaries: v0.3.0 — gaze-linux-x86_64 on Linux; Apple Silicon still just build / brew install gaze from source.
Plugins
The binary is the MCP server (gaze mcp). Plugins do not wrap it in npm.
/plugin marketplace add Obedience-Corp/gaze
/plugin install gaze@gaze
grok plugin marketplace add Obedience-Corp/gaze
grok plugin install gaze --trust
codex plugin marketplace add Obedience-Corp/gaze
gemini extensions install https://github.com/Obedience-Corp/gaze
Optional pin: gemini extensions config gaze GAZE_DEV
Agent Plugin (plugin.json + mcp.json). Local:
ln -s "$(pwd)" ~/.cursor/plugins/local/gaze
Or paste clients/cursor.json into ~/.cursor/mcp.json.
Pin a camera with GAZE_DEV=vid:pid or gaze -d vid:pid mcp. Two cameras on the bus: do not use the default.
MCP
The camera is the tool. q=v is the frame (JPEG). Moves stay one line so they do not burn tokens. After a move you already have state — do not call s again. Call v when you need to look.
{
"mcpServers": {
"gaze": {
"command": "gaze",
"args": ["-d", "2e1a:4c04", "mcp"]
}
}
}
| q | |
|---|---|
v | JPEG from the sensor (turns the camera on) |
s | status (text only) |
c | center |
z 200 / z +20 | zoom |
p N / t N | pan / tilt |
Reply: 2e1a:4c04 z=200 p=0 t=0
Commands
gaze status | name, zoom, pan, tilt, mode |
gaze see [file] | JPEG from the sensor (default see.jpg) |
gaze center | pan 0, tilt 0, default zoom |
gaze zoom 200 | absolute, or +20 / -20 |
gaze pan / gaze tilt | same, native UVC units |
gaze track on|off | writes Insta360 mode XU (Link 2 GET_CUR is stale) |
gaze deskview / overhead / whiteboard | same |
gaze normal | mode XU off |
FaceTime can keep the stream. Gaze uses IOKit DeviceRequest on the device node, no exclusive interface grab.
License
Apache 2.0.
PTZ uses USB Video Class 1.1 Camera Terminal controls. Insta360 mode bytes on XU unit 9 selector 2 are the community-documented map (normal / track / whiteboard / overhead / deskview), confirmed on a Link 2.
Product photos: Insta360 Link 2 / Link 2C, OBSBOT Tiny 3, Logitech Rally and Brio, Elgato Facecam Pro, Yealink UVC86.
Built with Festival