Build AI agents that
use your computer. In Python.
GantryGraph gives developers a simple, highly customizable way to build AI agents that operate the OS — desktop, browser, and your own tools. Built on LangGraph. MIT licensed. Yours to extend.
// 04 PILLARS
Built for developers. Built for control.
Designed so any Python developer can spin up a custom AI agent that drives the computer — and shape every piece of how it runs. No magic, no hidden complexity, no vendor lock-in.
Secure by default · Zero-Trust
The agent is born locked-down. Use GuardrailPolicy to block domains, limit file-system roots, and require human approval for sensitive actions. Production-grade guardrails, not promises.
Model-agnostic vision
Not locked into Claude. Pass any Vision LLM that speaks the LangChain interface — Claude, GPT-4o, Gemini, or local models. Perception is a first-class plug-in.
Infinite tooling via MCP
Native Model Context Protocol support. Connect your agent to GitHub, Slack, Postgres, or any MCP server via MCPConnector. Custom tools integrate as LangChain BaseTool subclasses.
Cloud-native & headless
Designed for servers. Playwright runs headless in Docker/k8s. Async streaming via astream_events() maps cleanly to WebSockets and remote UIs.
// HOW IT WORKS
A ReAct loop, engineered for the OS.
User intent flows through the Gantry Engine, branches across desktop, browser, and local tools, then streams results asynchronously back to your UI.
// USE CASES
Browser, desktop, research — one library.
Real production patterns you can ship today.
from gantrygraph import GantryEnginefrom gantrygraph.perception import WebPagefrom gantrygraph.actions import BrowserToolsweb = WebPage(url="https://news.ycombinator.com", headless=True)agent = GantryEngine(llm=ChatAnthropic(model="claude-sonnet-4-6"),perception=web,tools=[BrowserTools(web_page=web)],)# Scrape top stories with screenshots on every stepresult = agent.run("Find the top 5 stories and their links")
// COMPARISON
How GantryGraph stacks up.
An objective technical comparison against other Computer-Use frameworks. Every claim is verifiable in the docs.
| Capability | GantryGraph | OpenHands | browser-use | Anthropic Demo |
|---|---|---|---|---|
| Integration model | Python library, drop into any service | Standalone platform / Docker | Browser-only library | Single-script demo |
| Scope | Full OS · browser · MCP · local fns | Coding-agent IDE | Web pages only | Desktop screen + bash |
| Zero-trust guardrails | ✓ | ~ | ~ | — |
| Model-agnostic LLM | ✓ | ~ | ✓ | — |
| Native MCP support | ✓ | — | — | — |
| Async event streaming | ✓ | ~ | ✓ | — |
| Headless / Docker-ready | ✓ | ✓ | ✓ | — |
| Bot-detection resistance | ✓ | ~ | ~ | — |
| Anti-loop consecutive errors | ✓ | ~ | — | — |
| License | MIT | MIT | MIT | sample code |
✓ supported · ~ partial / requires custom code · — not supported
// FAQ
Questions, answered.
Common questions from engineers evaluating GantryGraph.