# three.ws Vision

Examines images, extracts screenshot text, and generates captions through visual models. Runs over stdio without billing or API credentials.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 249
- Author: nirholas
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/nirholas/three.ws/tree/HEAD/packages/vision-mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/threews-vision

## What it does

This package gives assistants three inspection tools: `analyze_image`, `describe_image`, and `get_vision_status`. The first answers visual questions and extracts printed copy from screenshots. The second crafts alt text or descriptive summaries with selectable detail levels. The third checks backend availability before requests go out.

Incoming requests hit NVIDIA NIM vision endpoints first, followed by automated fallback handling. You supply graphic data as base64 payloads or public HTTPS links. File size cannot exceed 12 MB, with JPEG, PNG, WebP, and GIF accepted.

Private IP ranges and localhost URLs fail because the remote service downloads external links directly. You need Node.js 20 or newer on your machine. Basic requests share an IP rate limit, which you can upgrade by setting `THREE_WS_API_KEY`.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `THREE_WS_BASE`, `THREE_WS_TIMEOUT_MS`, `THREE_WS_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env THREE_WS_BASE=<THREE_WS_BASE> --env THREE_WS_TIMEOUT_MS=<THREE_WS_TIMEOUT_MS> --env THREE_WS_API_KEY=<THREE_WS_API_KEY> --transport stdio vision-mcp -- npx -y @three-ws/vision-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add vision-mcp --env THREE_WS_BASE=<THREE_WS_BASE> --env THREE_WS_TIMEOUT_MS=<THREE_WS_TIMEOUT_MS> --env THREE_WS_API_KEY=<THREE_WS_API_KEY> -- npx -y @three-ws/vision-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "vision-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@three-ws/vision-mcp"
            ],
            "env": {
                "THREE_WS_BASE": "<THREE_WS_BASE>",
                "THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>",
                "THREE_WS_API_KEY": "<THREE_WS_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "vision-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@three-ws/vision-mcp"
            ],
            "env": {
                "THREE_WS_BASE": "<THREE_WS_BASE>",
                "THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>",
                "THREE_WS_API_KEY": "<THREE_WS_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e THREE_WS_BASE=<THREE_WS_BASE> -e THREE_WS_TIMEOUT_MS=<THREE_WS_TIMEOUT_MS> -e THREE_WS_API_KEY=<THREE_WS_API_KEY> vision-mcp npx -y @three-ws/vision-mcp
```
Replace <…> with your own values

## When to use it
- Extract printed text from screenshots via OCR
- Write descriptive alt text for UI graphics
- Critique three-dimensional character renders
- Inspect visual content hosted on a public web address

## Example prompts
- Read the text on the logo at `https://three.ws/logo.png` using `analyze_image`.
- Generate a brief alt text description for this base64 image string.
- Call `get_vision_status` to see if the vision endpoint is ready for incoming requests.

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [labelhead-artist-momentum](https://affpapa.org/en/nevibecode/mcp/labelhead-artist-momentum.md) — MCP server · ★ 107423
- [Agent Skills Search Server](https://affpapa.org/en/nevibecode/mcp/agent-skills-search-server.md) — MCP server · ★ 26559
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9366
- [PraisonAI](https://affpapa.org/en/nevibecode/mcp/praisonai.md) — MCP server · ★ 9289

From the same set: [nirholas/three.ws](https://affpapa.org/en/nevibecode/by/nirholas/three.ws.md) — 43 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
