JB Pi macOS Control
Provides observation-only control of the local macOS GUI via Accessibility API, including status checks, window snapshots, and evidence capture with atomic file publishing.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JB Pi macOS ControlCapture evidence from the frontmost window for calibration"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
JB Pi macOS Control
A local observation-only derivative of CursorTouch/MacOS-MCP. Version 0.1.6 preserves the four-tool boundary and adds an atomic, self-contained file chain for each Evidence capture. Status, Snapshot, and bounded AX behavior are unchanged from frozen 0.1.5.
jb_mac_capture_evidence now requires an approved target, capture_scope="window", a restricted lowercase label, and purpose calibration or acceptance. The label is metadata only; internal unpredictable IDs own all paths. Each successful Evidence atomically publishes exactly:
/tmp/jb-pi-macos-control/<safe-session-component>/evidence/<evidence-id>/
capture.png
manifest.jsonmanifest.json uses jb.evidence-manifest.v1; model-visible output remains jb.evidence.v1 plus the independent validated PNG image item. Neither JSON/details nor audit contains image base64, a complete Session ID, a concrete digest, Window ID, scratch path, or sensitive absolute user path.
See UPSTREAM.md, SECURITY.md, DEPENDENCIES.md, docs/ARCHITECTURE.md, docs/INSTALL-PLAN.md, and docs/BASELINE.md.
./Scripts/verify.zshLifecycle scripts default to dry-run. Approved upgrades are exactly 0.1.0 -> 0.1.2, 0.1.2 -> 0.1.3, 0.1.3 -> 0.1.4, 0.1.4 -> 0.1.5, and 0.1.5 -> 0.1.6; execution requires the matching immutable tag, refuses a running old MCP, and uses macOS RENAME_SWAP.
The server remains stdio-only:
/usr/bin/python3 -m macos_mcp_jb.cli serve-readonly --transport stdioConfiguration
config/approved-targets.json ships as an empty template. Fill it with the
exact signature identity (canonical path, bundle id, Team ID, CDHash, executable
and Info.plist SHA-256, designated requirement) of each macOS bundle you want the
snapshot/evidence tools to accept. policy.py rejects any target not listed
with a matching frozen allowlist entry.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Guarded MCP server for agent-readable business truth, provenance, readiness, and discovery.
A paid remote MCP for ClawManager, built to return verdicts, receipts, usage logs, and audit-ready J
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA privacy-first macOS MCP server that enables AI agents to capture screenshots of pre-approved application windows for development and debugging tasks.15MIT
- AlicenseAqualityCmaintenanceMCP server for macOS Digital Forensics and Incident Response, providing structured forensic analysis tools for triage collections including log parsing, timestamp normalization, and cross-artifact correlation.237MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that runs on a Mac and exposes a small, sharp set of tools (shell, file transfer, binary execution, screenshots) over a token-protected network port.-
- AlicenseAqualityBmaintenanceA local-first MCP server for retrieving a small evidence set and recording reviewed conclusions, policy-gated and redacted without giving an agent general filesystem access.5MIT