Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
Read, research and act in a real Chrome from your coding agent. Research cites only what it read, with every quote verified; forms are read back. Local, open source, Rust. MCP and A2A, Qdrant memory.
Developer toolsGitHub @inamdarmihirOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Open-source MCP browser for AI coding agents (Claude Code, Codex, Cursor): reads, researches and acts in a real Chrome and checks its own work. Research that cites only pages it read, forms read back, Qdrant memory. Rust.
Loading the full README.
Read the full README ↗Ostler is an open-source MCP browser for AI coding agents such as Claude Code, Codex and Cursor. It reads, researches and acts in a real Chrome, and checks its own work: research answers cite only pages it actually read, with every quote verified; forms are filled in one call with every value read back; and Qdrant remembers what worked. It is one local Rust binary that drives Chrome on your machine; Ostler sends pages to no third party (a search provider or Qdrant Cloud only if you configure one), but your MCP client may forward tool output to its model provider.
Status: v0.2, early. Tested against real Chrome and a real Qdrant server, but mostly on local fixtures, not the open web. A design review found real flaws; they are listed openly with a fix order. Read what that means before relying on it. Nothing has been audited by a third party.
Not a developer? Follow Getting started, no programming needed: a double-click install for Claude Desktop (Mac) or ostler start, which connects every AI app it finds, or a VS Code extension, or pip install ostler-mcp / uvx --from ostler-mcp ostler serve. The steps that follow are for developers.
Needs Chrome or Chromium and Python 3.8+ (no Rust). From source: cargo install --git https://github.com/inamdarmihir/ostler ostler (Rust 1.89+).
pip install ostler-mcp # or: uvx --from ostler-mcp ostler serve
ostler doctor # Chrome launches? Qdrant reachable (optional)? Prints the fix when not
v0.2.0 is released. Prebuilt binaries, the install script, PyPI (pip install ostler-mcp, or uvx --from ostler-mcp ostler serve) and Open VSX work today. crates.io, npm, the VS Code Marketplace and Homebrew are not published yet (status). Cargo from source always works. macOS and Linux are tested; Windows (x86_64) and a Docker image arrive in v0.2.1 and are experimental, with known gaps. The PyPI wheels are macOS and Linux only for now.
ostler setup claude --apply # runs `claude mcp add` for you
ostler setup codex # prints the block for ~/.codex/config.toml
ostler setup cursor # prints JSON for ~/.cursor/mcp.json
Also ostler setup vscode and ostler setup json (generic mcpServers). Only Claude Code is applied automatically; other clients' files are never modified. See docs/CLIENTS.md and docs/TROUBLESHOOTING.md.
Building your own agent in Python? LangChain, LlamaIndex and AutoGen load the same tools over MCP. The snippets were run against Ostler 0.2.0 with no language model in the loop. Keep one Ostler session open for the whole task, or cite will not see what read fetched.
Try it: run ostler fixtures (synthetic test pages at http://127.0.0.1:8787), then ask your agent:
cite and call evidence before answering."Ostler is a general MCP browser (navigate, read, click, type, tabs, screenshots, a click-target overlay, shared notes) with two checked layers on top, research with checked citations and a form engine, plus optional Qdrant memory. Both layers follow one idea: verified. Research refuses to cite what it did not read and reports the pages it could not read; forms read every value back from the live page. Recipes for reading, QA, logins, research, forms and A2A are in the cookbook.
Read a page, compare pages in tabs, check a web app after a change, get past a cookie wall or modal, log in once and reuse the session (--profile-dir), and hand a CAPTCHA to a person (wait_for_human): these need only the 16 core tools, no form or research tools. look returns a screenshot with numbered click targets. Page text arrives fenced as untrusted, and a domain allowlist is enforced inside the browser. Recipes 1 to 6 in the cookbook.
The plan of record is docs/BUILD-PLAN.md.
Research tools (MCP): read (best passages for a query, or the start of a page), cite (a quote is VERIFIED only if its words are on a page read this session, with a link to check it), evidence (verified and stale citations, and the gaps: paywall, bot wall, robots.txt, errors), search (SearXNG or Brave), open_many (up to 10 URLs in a scratch tab, robots.txt-aware), extract (tables, and lists with a PARTIAL: 5 of 13 verdict) and links. A page that changes between reads invalidates the citations taken from it; text aimed at the agent is flagged, not obeyed. Output and limits: TOOLS.md, recipe in the cookbook. Tested against real Chrome on the bundled research pack; the search providers are tested against mock servers only, and nothing has been run against the open web at scale.
Underneath, as tested libraries (unit, property and real-Chrome / real-Qdrant tests):
This is the beginning of the README. Read the rest at the original. Read the full README ↗