mcp-vision
by hussainn7
README.md
# MCP-Vision
An open-source contextual action layer for your computer. Point at what you're
working on, invoke MCP-Vision, and let your preferred model Ask, Guide, or Act—with
verification and evidence for meaningful actions.
**Your model. Your computer. Evidence for every action.**
Needs **Python 3.12+** (macOS `/usr/bin/python3` is often 3.9 and will fail).
## Install (one liner)
```bash
curl -fsSL https://raw.githubusercontent.com/hussainn7/mcp-vision/main/scripts/install.sh | bash
```
That script installs [`uv`](https://github.com/astral-sh/uv) if needed, fetches Python 3.12,
and puts `mcp-vision` on `~/.local/bin`.
### Manual
```bash
# if you don't have 3.12 yet:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.12
uv tool install "git+https://github.com/hussainn7/mcp-vision.git" --python 3.12
export PATH="$HOME/.local/bin:$PATH"
mcp-vision setup
```
Do **not** use stock `pip3` on macOS if it reports 3.9.
### Devs (clone)
```bash
cd mcp-vision
python3.12 -m venv .venv # or: uv venv --python 3.12
source .venv/bin/activate
pip install -e .
mcp-vision setup
```
Then open Chrome and refresh MCP in Cursor / Claude.
## Contextual invocation on macOS
```bash
mcp-vision doctor
mcp-vision ui
```
Press **Option-Space** anywhere to open the small MCP-Vision popup beside the
cursor. It collects the foreground application, window, selection, and focused
accessibility element when macOS makes those fields reliably available. A simple
Ask is answered in place; the inferred Ask · Guide · Act labels do not create a
second automation engine.
For Chrome, open `chrome://extensions`, enable Developer mode, choose **Load
unpacked**, and select this repository's `chrome_relay` folder. Right-click a page
and choose **Ask MCP-Vision**. The action sends a bounded selection/element/nearby
DOM context to the same local runtime and opens the native popup. Keep
`mcp-vision ui` running while using the action.
Useful checks:
```bash
mcp-vision status
mcp-vision install --host cursor
```
The UI is optional. Existing `mcp-vision serve`, MCP host configuration, and CLI
workflows remain independent.
### Runtime boundary
The core owns context, orchestration, trust decisions, verification, receipts,
and UX. Browser and desktop control sit behind an execution-backend protocol;
the existing native/CDP/isolated runtimes are the defaults and are not duplicated.
## Ask the bot
```bash
mcp-vision ask "flights to SFO from ATL Sept 28 to Oct 2"
mcp-vision ask "what's on my gmail"
mcp-vision ask "mechanical keyboard on ebay under 100"
```
Uses your existing Chrome (native, no automation banner). On success a second model
pass (Ollama by default) cleans the raw page into a short answer. Use `--model none`
for a local heuristic only.
## Connect an agent host
```bash
mcp-vision setup --host cursor
mcp-vision setup --host claude-desktop
mcp-vision setup --host antigravity
```
Or print config: `mcp-vision config --allow-browser-writes`
Claude Code:
```bash
claude mcp add --transport stdio mcp-vision -- mcp-vision serve --browser live --driver native --allow-browser-writes
```
Then ask the host in plain English: *list my tabs and find flights to SF…*
## How live Chrome works
`serve --browser live` (default `--driver native`) drives the Chrome you already
have open — cookies, extensions, tabs. No remote-debugging toggle. No “controlled
by automated software” banner.
CAPTCHA? You get a notification — solve it in Chrome, click **I solved it**.
Buy / send / book still need Allow once.
## Quick checks
```bash
mcp-vision connect
mcp-vision demo
mcp-vision probe --live
mcp-vision studio
mcp-vision status
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityActive
ResponsivenessNo issues