# AInotate

Generates annotated screenshots with arrows, step numbers, and boxes directly in agent chats. Useful for UI walkthroughs, bug reports, and redacting private tokens.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Author: dontpayfull
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/dontpayfull/AInotate
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/ainotate

## What it does

Instead of writing paragraphs describing UI layouts, agents return an annotated picture. The tool captures web pages, active windows, or existing image files, then draws directional arrows, numbered steps, and text badges to make targets visible.

Sensitive information is handled automatically. The engine blocks out email strings and auth tokens with solid fills before delivering the final image. When chaining multiple steps, `ainotate guide` compiles the sequence into Markdown, HTML, or PDF documents.

Capturing websites requires Chromium on the host system. Running `ainotate doctor` reveals missing dependencies and outputs the command to install the browser. Launching the server with `uvx` requires Python 3.10 or newer and `uv`.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add ainotate -- uvx ainotate
```
uvx runs the command named after the package; if the README names another one, use uvx --from ainotate <command>

### Codex

**Platform CLI**
```bash
codex mcp add ainotate -- uvx ainotate
```
uvx runs the command named after the package; if the README names another one, use uvx --from ainotate <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "ainotate": {
            "command": "uvx",
            "args": [
                "ainotate"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from ainotate <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "ainotate": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "ainotate"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from ainotate <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add ainotate uvx ainotate
```
uvx runs the command named after the package; if the README names another one, use uvx --from ainotate <command>

## When to use it
- pinpoint hidden controls and buttons on screen
- compile visual walkthroughs into Markdown, HTML, or PDF
- censor auth tokens and email addresses on bug screenshots
- highlight interface bugs with colored bounding frames

## Example prompts
- Take a screenshot of the home page and point an arrow at the sign-in button
- Capture the settings page, redact my email address, and highlight the 2FA toggle
- Build a numbered walkthrough guide for the checkout process as a PDF

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

---
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
