Permite que los agentes de IA controlen una pestaña real de Chrome con un cursor visible y entrada de usuario real a través de un hub local y una extensión.
También conocido como longvo2k/pointer, @longvo2k/pointer
- Stars
- 2
- Herramientas
- —
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 13 nov 2026
- Licencia
- MIT
¿Qué es Pointer MCP?
Pointer es un MCP server. Permite que los agentes de IA controlen una pestaña real de Chrome con un cursor visible y entrada de usuario real a través de un hub local y una extensión.
Resumen generado a partir del README del proyecto
Acerca del MCP server de Pointer
Pointer permite que los agentes de IA controlen una pestaña real de Chrome con un cursor visible y una entrada de datos similar a la humana. Al utilizar un hub local y una extensión de Chrome, agentes como Claude Code, Cursor y OpenCode pueden interactuar con tus sesiones de navegador actuales, incluyendo páginas donde ya has iniciado sesión. Esta configuración permite que el agente realice acciones en pestañas de fondo sin interrumpir tu flujo de trabajo, mientras puedes monitorear cada movimiento mediante un puntero visible en tu pantalla.
Los desarrolladores utilizan diversas herramientas para gestionar este proceso, incluyendo browser_status, click, fill y navigate. El sistema emplea el protocolo chrome.debugger para garantizar que los clics y las pulsaciones de teclas se comporten exactamente como lo haría una persona real. Para mantener la seguridad, el hub solo se comunica con 127.0.0.1 e incluye funciones para bloquear sitios específicos como bancos. El servidor está diseñado para ser eficiente, reportando únicamente los cambios en la pantalla para minimizar el uso de tokens durante las tareas.
Qué puedes hacer con él
- 1Automatizar flujos de registroPide a un agente que pruebe un proceso de registro seleccionando un plan específico y completando un formulario.
- 2Depurar aplicaciones webInstruye a una IA para investigar por qué una página específica no muestra datos revisando la consola y los logs de red.
- 3Realizar investigación webHaz que un agente busque un tema en Wikipedia y proporcione un resumen conciso de los hallazgos.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar Pointer MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar Pointer MCP en Claude Code
$ claude mcp add pointer -- npx -y @longvo2k/pointerInstalar Pointer MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Instalar Pointer MCP en VS Code
.vscode/mcp.json
{
"servers": {
"pointer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Instalar Pointer MCP en VS Code CLI
$ code --add-mcp '{"name":"pointer","type":"stdio","command":"npx","args":["-y","@longvo2k/pointer"]}'Instalar Pointer MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Instalar Pointer MCP en Codex
$ codex mcp add pointer -- npx -y @longvo2k/pointerInstalar Pointer MCP en Codex config.toml
~/.codex/config.toml
[mcp_servers.pointer] command = "npx" args = ["-y", "@longvo2k/pointer"]
Instalar Pointer MCP en Gemini CLI
$ gemini mcp add -s user pointer npx -- -y @longvo2k/pointerInstalar Pointer MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesiblelongvo2k/pointer is public and reachablegithub.com/longvo2k/pointer ↗Aprobado
- El paquete indica este repositorio como su origen@longvo2k/pointer names longvo2k/pointer as sourcenpmjs.com/package/@longvo2k/pointer ↗Aprobado
- Procedencia de la compilación (atestación de Sigstore)Sigstore attestation for @longvo2k/pointernpmjs.com/package/@longvo2k/pointer/v/0.3.0#provenance ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-11-13github.com/longvo2k/pointer ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo popular package one edit away from @longvo2k/pointerAprobado
- No hay avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en GitHubPointer
Let any agent drive your real Chrome tab, with a pointer you can watch.
Agents often need a page that is already open in your browser, signed in as you. Pointer lets them use your own Chrome through a small local hub and an extension, and shows every move on screen.
- Works with any agent. One MCP server for Claude Code, Cursor, OpenCode and Codex, plus a CLI.
- You can watch. A cursor slides to each target with a label like
click · Sign Up. Each agent gets its own colour and tab group. - You stay where you are. The agent works in background tabs and never steals your focus.
- You can stop it. Press
EscorAlt+Shift+S, click in its tab, or use the Stop button. It must ask you before it goes on. - Real input. Clicks and keys go through
chrome.debugger, so pages react as they would to a person. - Few tokens. Every action reports only what changed on screen. A six-step Wikipedia task used about 2,400 tokens of tool output.
Install
Easiest: let your agent do it. Paste this into Claude Code, Codex, Cursor, OpenCode, or any agent that can run shell commands:
Set up Pointer (https://github.com/longvo2k/pointer) so you can drive my Chrome. Follow its README.
1. Install the command. If Node 18+ is installed, run `npm install -g @longvo2k/pointer`.
Otherwise read https://raw.githubusercontent.com/longvo2k/pointer/main/install.sh, then run it
with POINTER_NO_OPEN=1. Ask me before it changes my shell's PATH.
2. Run `pointer setup --no-open` and use the MCP config it prints to add Pointer as an MCP server
in this agent (for Claude Code: `claude mcp add pointer -- <command and args it prints>`).
3. If this agent reads Agent Skills (SKILL.md), link the `skills/pointer` folder of the install
into your skills folder (for Claude Code: ~/.claude/skills/pointer).
4. Open https://chromewebstore.google.com/detail/pointer/jckadbekhgkcnjkjcoaecjjkpkkgamjl in my
Chrome and ask me to click "Add to Chrome". Wait until I say it is done.
5. Run `pointer status` and check it says "Extension: connected". If not, read
https://github.com/longvo2k/pointer/blob/main/docs/troubleshooting.md and tell me what you need.
6. Tell me what you set up, and whether I need to restart this session to load Pointer's tools.
By hand:
- Add the extension from the Chrome Web Store.
- Install the command:
npm install -g @longvo2k/pointer(Node 18+), orcurl -fsSL https://raw.githubusercontent.com/longvo2k/pointer/main/install.sh | POINTER_NO_OPEN=1 bash. - Connect your agent. For Claude Code:
claude mcp add pointer -- pointer-mcp. For other agents, runpointer setup, which prints the config with your paths. - Check it:
pointer statusshould say "Extension: connected".
The install guide covers the installer, other MCP clients, the agent skill, loading the extension unpacked, uninstalling, and working from a checkout.
How the agent uses it
Look once, then act by ref and read what changed:
snapshot → click e31 → fill e40 "ada@example.com"
clicked button "Code" → https://github.com/microsoft/vscode
changes in view:
+ button "Clone with HTTPS" [ref=e286]
+ link "Download ZIP" [ref=e292]
| Job | Tools |
|---|---|
| Browsers | browser_status, browsers_list, browser_use |
| Tabs | tabs_list, tab_open, tab_select, tab_close, tab_focus |
| Read | snapshot, find, read_text, screenshot, wait_for |
| Act | click, hover, fill, press, scroll, navigate, upload, dialog |
| Check | verify, viewport, layout, console, network |
| Talk to you | say, stop, resume |
The same tools work from the shell: pointer open example.com, pointer snap, pointer click e14.
Run pointer help for the list.
With several Chrome profiles, pointer browsers lists them by name and email, and
pointer use Work switches, opening the profile if it is closed.
The usage guide covers every tool, the CLI, profiles, what Pointer draws on the page, the settings (including the Classic and Sketch looks) and environment variables.
Examples
Real runs: OpenCode with a DeepSeek model drives Pointer in Chrome.
"Test the signup flow — pick the Scale plan, use ada@example.com and team Lovelace Labs, create the workspace, and check the invite link is shown. Report pass/fail per step."
"Users say the Reports page stays empty after clicking Load reports. Find the root cause from the console and network."
"On Wikipedia, search for Model Context Protocol, open the article, and give me a 3-bullet summary."
Security and privacy
- No outside servers. Pointer talks only to
127.0.0.1. No accounts, analytics or telemetry. - No code execution tool. No
eval, and no tool runs JavaScript you pass in. - Web pages cannot reach it. The hub refuses cross-site requests, DNS rebinding, and pages pretending to be the extension.
- Blocked sites. List sites like your bank in the settings, and agents cannot open or read them.
- One runtime dependency (
ws), and plain source you can read.
Page text and screenshots go to the agent you connected, and from there to its AI provider. See SECURITY.md and PRIVACY.md.
grep -rnE "https?://[A-Za-z0-9]" bin lib extension | grep -v 127.0.0.1 | grep -v w3.org/2000/svg # outside URLs: none
grep -rnE "\beval\(|new Function" bin lib extension # dynamic code: none
npm ls --omit=dev --all # dependencies: ws only
w3.org/2000/svg is the SVG namespace for the cursor icon, not a request. CI runs the same checks
on every push.
Help
Something not working? See troubleshooting. To contribute, see
CONTRIBUTING.md and run npm test before sending a change.
License
MIT. See LICENSE. The Sketch look ships two fonts under the SIL Open Font License 1.1:
Caveat and Patrick Hand by Patrick Wagesreiter (licences in
extension/fonts/).
Pointer was written from scratch. Its approach was inspired by ofershap/real-browser-mcp.
Preguntas sobre Pointer MCP
¿Cómo agrego Pointer MCP a Claude Code?
Ejecuta claude mcp add pointer -- npx -y @longvo2k/pointer en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego Pointer MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Puedo ver lo que está haciendo el agente?
Sí, un cursor visible se desplaza hacia cada objetivo con etiquetas de acción, y a cada agente se le asigna su propio color y grupo de pestañas.
¿El agente me quita el foco mientras trabaja?
No, el agente opera en pestañas de fondo para que puedas continuar con tu trabajo sin interrupciones.
¿Cómo interactúa el agente con las páginas web?
Utiliza chrome.debugger para asegurar que los clics y las pulsaciones de teclas sean procesados por las páginas exactamente como lo haría un humano.