# AIHawk

An MCP server that hands your agent a browser: it opens pages, clicks, types and reads them from plain-English instructions.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 32221
- Author: feder-cr
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/feder-cr/invisible_dots
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/aihawk

## What it does

AIHawk plugs into Claude, Codex, Cursor and other clients as an MCP server, started with `uvx aihawk`. What you get is a browsing agent that walks real pages, presses buttons, fills fields and reports back what it read. You describe the job in words; no selectors, no scripts.

Because it launches through `uvx`, the `uv` tool has to be on your `PATH`. Miss it and `uvx aihawk` never resolves, so the client sees no server at all. The machine running it also needs network access for the browser to reach anything.

The project ships under MIT. It acts with your accounts and from your connection, so the terms of the sites it visits stay your responsibility.

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

## Install

### Claude Code (native platform)

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

### Codex

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

### Cursor

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

### GitHub Copilot

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

### Gemini CLI

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

## When to use it
- pull the title and opening paragraph off a page
- log into an account and download this month's invoices
- fill in a form on a site that has no API
- see what a real visitor gets, not just what curl returns
- collect data across several pages from one spoken instruction

## Example prompts
- Open `https://example.com` and tell me the page title and its first sentence. Keep the browser open.
- Sign in to the shop, save this month's invoices to `~/documents`, and note where the invoices page lives.
- Walk the pricing page and list what each plan costs.

## Similar
- [Robin: AI-Powered Dark Web OSINT](https://affpapa.org/en/nevibecode/mcp/robin-ai-powered-dark-web-osint.md) — MCP server · ★ 7658
- [e2e](https://affpapa.org/en/nevibecode/mcp/e2e.md) — MCP server · ★ 11912
- [treg.to](https://affpapa.org/en/nevibecode/mcp/tregto.md) — MCP server · ★ 6026
- [wigolo](https://affpapa.org/en/nevibecode/mcp/wigolo.md) — MCP server · ★ 5500
- [JobSpy](https://affpapa.org/en/nevibecode/mcp/jobspy.md) — MCP server · ★ 4552

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