by amurgola
Local AI desktop app: a Chromium browser with a GPU-aware llama.cpp runtime, OpenAI-compatible API, AI chat and agents, Stable Diffusion image/video, TTS and music, plus an MCP server so Claude Code, Codex and Cline can drive your browser. Windows, macOS, Linux.
# Add to your Claude Code skills
git clone https://github.com/amurgola/LumaBrowserSee how LumaBrowser compares with popular alternatives.
LumaBrowser is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by amurgola. Local AI desktop app: a Chromium browser with a GPU-aware llama.cpp runtime, OpenAI-compatible API, AI chat and agents, Stable Diffusion image/video, TTS and music, plus an MCP server so Claude Code, Codex and Cline can drive your browser. Windows, macOS, Linux. It has 124 GitHub stars.
LumaBrowser's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/amurgola/LumaBrowser" and add it to your Claude Code skills directory (see the Installation section above).
LumaBrowser is primarily written in JavaScript. It is open-source under amurgola on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh LumaBrowser against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
LumaBrowser replaces the pile of separate tools people run for local AI (a model server, a chat UI, an image generator, a voice stack, a headless browser for agents) with one desktop app. It looks at your GPUs, tells you which models fit before you download them, and runs everything locally. Your own tabs, logins and files stay on your machine, and outside agents like Claude Code, Codex, Cline and OpenCode can drive the browser through MCP.
Download the latest build from GitHub Releases:
| Platform | File |
|---|---|
| Windows x64 | Installer or portable .exe |
| Linux x64 | AppImage |
| macOS (Apple Silicon) | .dmg |
Or, with Node 18 or newer, fetch and launch the latest build from the terminal:
npx lumabrowser start
Open Models. LumaBrowser reads your hardware and puts a fit badge and a predicted speed on every model before you download it. Search Hugging Face directly, or link models you already have in LM Studio, Ollama or the Hugging Face cache without downloading them again.
Open a chat and ask for something that needs the web:
Search the web for the latest llama.cpp release and tell me in a few bullets what changed.
The agent opens its own tabs, reads the pages and answers. Your tabs stay yours.
| You want to... | Use |
|---|---|
| Chat with local models, generate images, browse with an assistant | The desktop app |
| Let Claude Code, Codex, Cline or OpenCode use a real browser | MCP server |
| Point Selenium, Puppeteer or Playwright at it | WebDriver or CDP |
| A coding agent in your terminal | luma CLI, see cli/README.md |
| The same agent in your editor | VS Code (also Cursor, Windsurf, VSCodium) and JetBrains plugins, installed from the app |
| Run it on a server | Docker |
Browser
Local LLMs, fitted to your hardware
http://127.0.0.1:8317. Off by default.Image, video, music and voice
Agents and coding
luma CLI and the IDE
plugins, and can build and hot-install LumaBrowser extensions.Automation and triggers
Sharing
Extensions
manifest.js and a main.js, and add routes, MCP tools and UI. See
Documentation/core/shell/extensions.LumaBrowser can write its MCP entry into Claude Code, Cline, Codex and OpenCode for you from Settings, or export the config to a file. By hand it looks like this:
{
"mcpServers": {
"luma-browser": {
"command": "node",
"args": ["<install dir>/resources/app.asar.unpacked/mcp-server.js"],
"env": { "LUMA_API_PORT": "3000" }
}
}
}
The server starts LumaBrowser if it is not running. Tools cover browsing, tabs, page reading and extraction, agents, timed tasks, page monitors, and any MCP servers you have connected to LumaBrowser.
Both are off by default. Turn them on in Settings, then:
# Selenium (W3C WebDriver), default 127.0.0.1:9515
driver = webdriver.Remote("http://127.0.0.1:9515", options=options)
// Puppeteer or Playwright (Chrome DevTools Protocol), default 127.0.0.1:9222
const browser = await puppeteer.connect({ browserURL: 'http://127.0.0.1:9222' });
Clients only see the tabs automation created, never your own. Either driver can ask the LLM to resolve a selector that stopped matching.
The full API reference (REST, MCP tools and the OpenAI and Anthropic compatible local API) lives at lumabyte.com/apis.
| Tier | Video memory | What runs well |
|---|---|---|
| Laptop | under 8 GB, or no GPU | Small LLMs, speech, voices; image generation needs 8 GB |
| Gaming | 8 to 24 GB | Mid-size LLMs, image generation |
| High-end | 24 GB or more, or a Mac with 32 GB+ | Large LLMs, video; music needs about 34 GB |
Tiers use your largest single card, since cards do not add up for most workloads (LLMs are the exception: they can split across cards).
| GPU | Support |
|---|---|
| NVIDIA | CUDA 12 and CUDA 13 (recommended for RTX 50) on Windows; Vulkan or CUDA on Linux |
| AMD, Intel | Vulkan on Windows and Linux. No ROCm backend yet. |
| Apple Silicon | MLX for LLMs; CPU for image generation |
| None | CPU builds of every runtime |
Your browsing, chats, models, generated media and files stay on your machine. Nothing you type into a chat is sent anywhere unless you choose a cloud model.
What does leave the machine, and how to turn it off:
| What | Sent to | Default | Turn off |
|---|---|---|---|
| Usage ping: version, platform, machine id, every 5 minutes | lumabyte.com | On | Settings > General |
| Update check | lumabyte.com | On | Settings: automatic update checks |
| Extension catalog | lumabyte.com | Only when you open Extensions | |
| Chrome extension downloads and update checks: extension id, Chromium version | Google (clients2.google.com) | Only when you install or update one | |
| Ad-block lists, runtimes, models | Ghostery, GitHub, Hugging Face and model hosts | When needed |
No feature depends on the usage ping.
Browser automation hands an agent your browser. Anything an MCP, WebDriver or CDP client can see, the model behind it can see. Connect only agents you trust, and keep the API, WebDriver and CDP ports on localhost (the default).
The REST API on port 3000 does not require a key by default. Set an API key in Settings before you expose it beyond localhost.
The Docker image runs the full app headless and serves the desktop in your browser over noVNC. It is meant for servers and agent hosts.
LUMA_VNC_PASSWORD=change-me docker compose up -d
http://localhost:6080: the app, throug