Skip to main content
Glama

agenteyes-mcp

A Node.js MCP server (stdio transport) exposing agent tools backed by headless Chromium. One tool call returns screenshot PNG(s), an accessibility snapshot, and page text — eyes for agents.

Requirements

  • Node.js 20+

  • On first install, Playwright downloads the Chromium headless shell (postinstall script)

Related MCP server: webshot-mcp

Install and run

npx agenteyes-mcp@0.1.0

Or from a clone:

git clone https://github.com/tech-lead-bunny/agenteyes-mcp.git
cd agenteyes-mcp
npm install
node index.js

The process speaks MCP over stdio; connect it from an MCP host (Claude Desktop, Cursor, etc.).

Tools

Tool

Description

screenshot_url

Open a public http/https URL; return PNG screenshot(s), accessibility tree, and visible text

get_page_text

Same page context without screenshots (title, a11y, text)

screenshot_url parameters

  • url (required) — public http(s) URL

  • full_page (optional, default false) — capture full scroll height

  • segment_height (optional, default 0) — when full_page is true and the page is taller than this value, capture stacked viewport PNGs of this height (top to bottom), then one combined accessibility + text block

  • width / height (optional) — viewport size (defaults 1280×720)

Security (SSRF)

URLs are checked before navigation and again on the final URL after redirects:

  • Only http: and https:

  • DNS resolution must not point at private/local addresses (localhost, loopback, RFC1918, link-local 169.254.0.0/16, fe80::/10, ::1, IPv4-mapped IPv6, etc.)

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "agenteyes": {
      "command": "npx",
      "args": ["-y", "agenteyes-mcp@0.1.0"]
    }
  }
}

Cursor

In Cursor Settings → MCP, add a stdio server:

{
  "mcpServers": {
    "agenteyes": {
      "command": "npx",
      "args": ["-y", "agenteyes-mcp@0.1.0"]
    }
  }
}

Or use a local path after npm install in this repo:

{
  "mcpServers": {
    "agenteyes": {
      "command": "node",
      "args": ["/absolute/path/to/agenteyes-mcp/index.js"]
    }
  }
}

Example prompt

Use the screenshot_url tool on https://example.com with full_page: true. Summarize the page title and main message from the returned text, and describe what you see in the screenshot.

Limits (v0)

  • No hosted API — run the MCP server locally (or wherever your host spawns it)

  • No authentication or rate limiting in the server itself

  • Public URLs only — private networks and metadata endpoints are blocked

  • Chromium only — no Firefox/WebKit; no persistent login sessions between calls

  • One browser process, one page per tool call — pages are always closed after each call

  • Best-effort rendering — heavy SPAs, infinite scroll, or bot blocking may produce incomplete captures

  • Segmented full-page capture returns multiple PNGs (not a single stitched image)

MCP registry

  • mcp.so — primary listing target; submission to the registry is planned once 0.1.0 is on npm.

  • awesome-mcp — PR to add agenteyes-mcp planned the same week as the npm publish.

License

MIT — see LICENSE.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers