Handsfree
Allows controlling the user's Brave browser through its debugging connection, including managing tabs, opening pages, reading page elements and text, clicking, filling forms, typing, scrolling, taking screenshots, and running JavaScript.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Handsfree
Give Claude Code access to your computer via MCP.
Handsfree is a local MCP server that lets Claude Code (or any MCP client) use your own PC: your windows, apps, keyboard and mouse, and your own browser with the sign-ins you already have. Nothing leaves your machine, there is no account, and it has zero dependencies.
Install
One command:
claude mcp add handsfree -- npx -y github:brandonmlicea/handsfree-mcpAny other MCP client (Claude Desktop, Cursor, Codex...):
{
"mcpServers": {
"handsfree": { "command": "npx", "args": ["-y", "github:brandonmlicea/handsfree-mcp"] }
}
}Needs Node.js 22.4 or newer. The desktop tools need Windows 10 or 11; the browser tools work on Windows, macOS and Linux.
Your own browser
To let Claude work in your real browser, with your logins:
Open
chrome://inspect/#remote-debugging(edge://inspect/#remote-debuggingin Edge,brave://inspect/#remote-debuggingin Brave).Turn on Allow remote debugging for this browser instance.
The first time Claude connects, the browser asks to allow it: click Allow.
Handsfree finds the browser by itself. To use a browser started with --remote-debugging-port=9222 instead, set HANDSFREE_CDP=9222.
Related MCP server: device-controller-mcp
Tools
Tool | What it does |
| Open windows with ids, the one in front first; |
| A plain-words request run as native steps, in about a second: "open YouTube in Chrome full screen", "snap Spotify to the right", "new tab in Brave and go to github.com", "press ctrl+shift+t" |
| Several native steps in one call: |
| A window's buttons, fields and text from its accessibility tree, numbered |
| Act on an element with no real keyboard or mouse: press, set or type text, toggle, select, expand |
| Claude's own Windows desktop: |
| The real mouse, on an element number or on a point in the last screenshot; |
| The screen or one window |
| Your browser's tabs, marking the one on screen |
| A page in a window of its own in your browser, on Claude's desktop, so your own tab stays where it is |
| A tab's elements by ref, and its text |
| Many actions in a tab in one call: |
| A picture of a tab; JavaScript in a tab |
Claude's own desktop
On Windows, Claude's own work happens on a virtual desktop of its own, named Claude Code (you can see it in Task View, Win+Tab). Apps it launches with desk launch and pages it opens with open live there, so they never cover your windows or take your keyboard.
Claude works those windows without your mouse or keyboard: elements reads them, use presses buttons and writes text through Windows accessibility, screenshot captures them off screen, and the browser tools drive its pages through the debugging connection. When an app truly needs a real mouse, desk visit shows that desktop and desk leave hands your screen back. desk bring moves a window over when you want to see it.
It needs Windows 11 24H2 or newer. Set HANDSFREE_DESKTOP=off to keep new browser windows on your own desktop, or HANDSFREE_DESKTOP_NAME to call it something else.
How it stays out of your way
Keys and typing go only to the window the step is working in. If another window comes to the front, it stops instead of typing into it.
Real keys and clicks are never sent to a window on Claude's desktop, and reading or acting on one hands the focus straight back to the window you were using.
Real keyboard and mouse steps wait until you have paused for about a second.
Browser work happens in the background through the browser's debugging connection, so it never needs your keyboard or your screen, and new pages open in a window of their own.
dounderstands what is open and installed: "the browser" is the one you have open, a misheard name ("crome") is the closest app, and it tells you when an app is not installed.
Try it
Ask Claude Code things like:
"Put Chrome and VS Code side by side."
"Open my Gmail and tell me the subject of the newest email."
"Fill in the signup form on this page with my details."
"What does the error dialog in front say?"
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
Hosted Web Crawler MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that provides Claude with comprehensive desktop automation capabilities including browser control, window management, and native mouse/keyboard input on Windows. It enables users to capture screenshots, launch applications, and interact with the system clipboard through natural language.20MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that lets Claude Desktop and Claude Code control your PC — take screenshots, click, type, manage windows, and more.MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that enables Claude to control your computer, similar to Anthropic's computer use but easy to set up locally.2,132 npm392MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that lets Claude operate your real computer by moving the actual mouse, clicking, typing, and reading the actual screen, working with your own logged-in sessions in any application.50 PyPI1MIT