{
  "markdown": "# TinkyVision + IsolatedTester\n\n**Created by Luke Kist / TinkyBink · [AgewellEPM](https://github.com/AgewellEPM)**\n\nScreen understanding and isolated app testing over MCP. Connect an AI assistant to macOS applications through screenshots, on-device OCR, accessibility elements, and explicit input tools. IsolatedTester adds virtual-display app sessions, ASCII frames for text-only models, bounded visual history, and evidence reports.\n\n**Early-access release 0.2.0.** The packages target Apple silicon Macs running macOS 14 or later. This project is independently developed; an Anthropic listing or endorsement is not claimed. Clean-install Claude Desktop UI acceptance remains pending. See [release validation](docs/RELEASE-VALIDATION.md).\n\n## Published MCP Registry entries\n\nBoth companion servers are active in the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.AgewellEPM):\n\n- `io.github.AgewellEPM/tinkyvision` — version `0.2.0`\n- `io.github.AgewellEPM/isolated-tester` — version `1.2.1`\n\nThe Registry entries reference the versioned GitHub MCPB assets and their SHA-256 checksums. Registry publication is separate from Anthropic's directory review; the Anthropic form submission is still pending.\n\n## Install\n\nDownload the two companion extensions from [the 0.2.0 release](https://github.com/AgewellEPM/tinky-vision-mcp/releases/tag/v0.2.0):\n\n- **tinkyvision-0.2.0-macos-arm64.mcpb** — screen capture, OCR, window discovery, scoped accessibility, and consent-gated control. Includes the Swift helpers and Node dependencies; Claude Desktop supplies Node.\n- **isolated-tester-1.2.1-macos-arm64.mcpb** — isolated app sessions, screenshots, OCR/ASCII frames, accessibility, input, recording controls, and reports. Includes its native MCP executable.\n\nInstall both through Claude Desktop's extension installation UI. Grant the requested macOS Screen Recording and Accessibility permissions to the relevant executables; permissions are machine-specific and cannot be bundled. TinkyVision starts in read-only mode by default; change its extension setting only when input control is intended. IsolatedTester exposes input tools whose use must be authorized by the operator.\n\nThe native artifacts are intended for Apple silicon. Intel, Windows-hosted, and Linux-hosted execution are not claimed. Windows guests require separately installed Perslis/GhostBridge and the exact licensed guest disk. Guest images are not distributed here.\n\nOther MCP clients can extract the bundles and run the TinkyVision `src/server.mjs` with Node 20+ or the IsolatedTester `bin/isolated-mcp` executable over stdio. MCPB installation support varies by client.\n\n## What the model receives\n\n| Need | Tools |\n|---|---|\n| An image directly through MCP | `os_screenshot_image`, `session_image`, `portal_snapshot` |\n| Recognized text and positions | `vision_find_text`, `ocr_frame` |\n| Structured interface elements | `os_ax_snapshot`, `get_accessibility_tree`, `get_interactive_elements` |\n| A spatial view for text-only models | `ascii_frame` |\n| Captures saved on the Mac | `os_screenshot`, `session_frame`, `screenshot` |\n| Inspect and manage isolated sessions | `setup_status`, `list_sessions`, `create_session`, `stop_session` |\n| Review recorded evidence | `frame_history`, `seal_session`, `session_report`, `trend_report` |\n\nA text-only model receives text representations, not native image perception. A file path is distinct from an MCP image response. Client configuration determines whether image/text results are sent to a hosted model.\n\n## First session\n\n1. Check `setup_status` and existing sessions. Run at most one isolated app or VM session.\n2. Create a session for a disposable native test app, with a clear objective.\n3. Observe through `session_image`, OCR, or accessibility before selecting input targets.\n4. Verify the result through a fresh observation.\n5. Stop the session in guaranteed cleanup and verify that its owned app/helpers are gone.\n\nKeep continuous capture at or below 1 FPS and retain the 300-frame recycler. TinkyStream capture is available in the included helper/source; the extensions do not install a background recording service. GhostBridge portal tools require a separately configured active portal. They fail when that dependency is absent.\n\n## Permissions and boundaries\n\nTinkyVision preserves its sensitive-app deny list, read-only control, self-protection checks, native consent, and audit logging. Scoped accessibility grants bind to a specific window and expire. Read-only mode does not mean a tool has no privacy implications: screenshots and UI text can contain private information.\n\nIsolatedTester places an app on a virtual display. This is UI isolation, not a filesystem, network, or operating-system security sandbox. The app and tools retain their OS-level permissions. An arbitrary click can activate a destructive application action. Tool annotations describe effects and do not replace operator authorization.\n\n## Privacy Policy\n\nRead the [Privacy Policy](PRIVACY.md) before connecting a client. It explains screen data, model-provider sharing, local logs, recordings, retention, and deletion. Optional autonomous tests can call Anthropic or OpenAI using the operator's credentials.\n\n## Credit and citation\n\nPlease credit **Luke Kist / TinkyBink (AgewellEPM)** and link this repository when demonstrating or building on the system. Use [CITATION.cff](CITATION.cff) for a versioned software citation. Preserve the included notices for IsolatedTester contributors and third-party dependencies.\n\n## Source and support\n\nTinkyVision is MIT licensed; native helpers and build sources are in this repository. IsolatedTester is distributed with its MIT notice as a companion binary. [Support and bug reports](https://github.com/AgewellEPM/tinky-vision-mcp/issues). Do not post private screenshots, API keys, or session recordings in public issues.\n\nMaintainer packaging and submission details: [release guide](docs/RELEASING.md), [reviewer instructions](docs/REVIEWER-GUIDE.md).\n",
  "bytes": 6050,
  "sha": "267071721375bcc33c3a9c63c25ca54b961b37107924ce3096413f8eb0aec9b7",
  "repo_slug": "agewellepm/tinky-vision-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_agewellepm_isolated_tester_abd61ea9/readme"
}