DeepLook is open source: real Chrome, a CLI, an HTTP API, and MCP A developer released DeepLook, an Apache-2.0 open-source browser tool that renders public web pages in real Chrome and returns visible text plus title, final URL, HTTP status and browser observations for AI agents. The same page-reading capability is exposed through a local CLI, a self-hosted HTTP API (DeepLook-API, with authentication, quotas and concurrency limits) and a stdio MCP server offering a deeplook_open tool. It requires Node.js 22.14+ and Chrome, reads one public HTTP(S) URL per call, keeps the Chrome sandbox enabled, and rejects private, local and metadata addresses including redirects and page resources. I’m releasing DeepLook , an open-source browser tool that turns public web pages into readable text and structured data for AI agents. It runs real Chrome, renders the page, and gives your application the visible text together with its title, final URL, HTTP status, and browser observations. You can use the same reading capability from a local CLI, a self-hosted HTTP API, or a coding agent through MCP. The original project code is licensed under Apache-2.0 . You can inspect it, run it on your own infrastructure, and contribute improvements. Research and coding agents often need the actual page behind a URL. A lightweight HTTP fetch works for many sources; other pages need JavaScript rendering before useful text appears. DeepLook handles that browser-reading step. Give it one public URL and consume the result in your own workflow. Search, research planning, deciding which links to follow, and writing a final answer remain your application’s responsibility. I wanted the boundary to be easy to understand: a page request, a structured result, and an explicit error when the page cannot be read. You need Node.js 22.14+ and Google Chrome . Local use does not require a DeepLook account, an LLM API key, or a shared project token. git clone https://github.com/sayhitogambit/DeepLook.git cd DeepLook npm ci npm run build node dist/cli.js doctor --json node dist/cli.js open https://example.com Use JSON when your application needs page metadata, or the versioned machine format when you need a consistent success/error envelope: node dist/cli.js open https://example.com --json node dist/cli.js open https://example.com --machine --timeout-ms 30000 These commands install from GitHub source. They do not depend on a public npm registry release. You can also build and install your own tarball with npm pack . DeepLook includes a stdio MCP server . After building the project, configure your MCP host to launch it: { "mcpServers": { "deeplook": { "command": "node", "args": "/absolute/path/to/DeepLook/dist/cli.js", "mcp" } } } Configuration field names vary between hosts. The command exposes deeplook open , which accepts a URL and an optional timeout: {"url":"https://example.com","timeoutMs":30000} Successful calls return page text and a structured result. Failed calls return a typed error. Each MCP process allows one active read, and cancellation propagates to the browser operation. Page content remains untrusted input. An agent must treat instructions found inside a page as source material, rather than instructions from its user or developer. DeepLook-API https://github.com/sayhitogambit/DeepLook-API wraps the browser CLI with an HTTP interface, authentication, account quotas, concurrency limits, and lifecycle management. Its page-reading endpoint is: POST /v1/open Authorization: Bearer