Permite que agentes de IA controlem uma aba real do Chrome com um cursor visível e entrada de usuário real por meio de um hub local e uma extensão.
Também conhecido como longvo2k/pointer, @longvo2k/pointer
- Stars
- 2
- Ferramentas
- —
- Downloads, 30 dias
- —
- Versão mais recente
- —
- Último commit
- 13 de nov. de 2026
- Licença
- MIT
O que é o MCP Pointer?
Pointer é um MCP server. Permite que agentes de IA controlem uma aba real do Chrome com um cursor visível e entrada de usuário real por meio de um hub local e uma extensão.
Resumo gerado a partir do README do projeto
Sobre o MCP server de Pointer
Controlar uma aba real do navegador Chrome com um cursor visível e entrada semelhante à humana é o que o Pointer possibilita para agentes de IA. Ao usar um hub local e uma extensão do Chrome, agentes como Claude Code, Cursor e OpenCode podem interagir com suas sessões de navegador existentes, incluindo páginas onde você já está logado. Essa configuração permite que o agente realize ações em abas de segundo plano sem roubar seu foco, enquanto você pode monitorar cada movimento por meio de um ponteiro visível na sua tela.
Desenvolvedores utilizam uma variedade de ferramentas para gerenciar esse processo, incluindo browser_status, click, fill e navigate. O sistema utiliza o protocolo chrome.debugger para garantir que cliques e teclas se comportem exatamente como os de uma pessoa real. Para manter a segurança, o hub se comunica apenas com 127.0.0.1 e inclui recursos para bloquear sites específicos, como bancos. O servidor foi projetado para ser eficiente, reportando apenas o que muda na tela para minimizar o uso de tokens durante as tarefas.
O que você pode fazer com ele
- 1Automatizar fluxos de cadastroPeça a um agente para testar um processo de registro selecionando um plano específico e preenchendo um formulário.
- 2Depurar aplicações webInstrua uma IA a investigar por que uma página específica não está exibindo dados, verificando o console e os logs de rede.
- 3Realizar pesquisas na webPeça a um agente para pesquisar um tópico na Wikipedia e fornecer um resumo conciso dos resultados encontrados.
Escrito a partir do README do projeto. Cada caso de uso é verificado com uma citação dele.
Como instalar o MCP Pointer
Formatos verificados em 10 nov 2026Adicionar ao CursorAdicionar ao GooseInstalar o MCP Pointer no Claude Code
$ claude mcp add pointer -- npx -y @longvo2k/pointerInstalar o MCP Pointer no Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Instalar o MCP Pointer no VS Code
.vscode/mcp.json
{
"servers": {
"pointer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Instalar o MCP Pointer no VS Code CLI
$ code --add-mcp '{"name":"pointer","type":"stdio","command":"npx","args":["-y","@longvo2k/pointer"]}'Instalar o MCP Pointer no Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Instalar o MCP Pointer no Codex
$ codex mcp add pointer -- npx -y @longvo2k/pointerInstalar o MCP Pointer no Codex config.toml
~/.codex/config.toml
[mcp_servers.pointer] command = "npx" args = ["-y", "@longvo2k/pointer"]
Instalar o MCP Pointer no Gemini CLI
$ gemini mcp add -s user pointer npx -- -y @longvo2k/pointerInstalar o MCP Pointer no Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Verificações automatizadas
Executado em 14 de nov. de 2026Relatório completo →Passou em nossas verificações automatizadas. Isso não é uma auditoria de segurança: leia o código e dê ao servidor o acesso mais restrito de que ele precisa. Como as verificações funcionam
- Repositório de origem vinculado e acessívellongvo2k/pointer is public and reachablegithub.com/longvo2k/pointer ↗Passou
- O pacote indica este repositório como sua origem@longvo2k/pointer names longvo2k/pointer as sourcenpmjs.com/package/@longvo2k/pointer ↗Passou
- Proveniência da build (atestação Sigstore)Sigstore attestation for @longvo2k/pointernpmjs.com/package/@longvo2k/pointer/v/0.3.0#provenance ↗Passou
- Licença de código aberto (OSI)MITspdx.org/licenses/MIT.html ↗Passou
- Commit ou release no último anoLast commit or release 2026-11-13github.com/longvo2k/pointer ↗Passou
- OpenSSF ScorecardNão verificado
- Nome do pacote não é próximo a um pacote popularNo popular package one edit away from @longvo2k/pointerPassou
- Nenhum aviso crítico no pacote ou em suas dependênciasNão verificado
- Sem instruções ocultas para o modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPassou
- Ferramentas destrutivas estão rotuladasNão verificado
- O endpoint remoto responde ao handshake do MCPNão verificado
README
Ver no 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.
Perguntas sobre o MCP Pointer
Como adiciono o MCP Pointer ao Claude Code?
Execute claude mcp add pointer -- npx -y @longvo2k/pointer no seu terminal. Adicione --scope user para torná-lo disponível em todos os projetos.
Como adiciono o MCP Pointer ao Cursor?
Abra ~/.cursor/mcp.json e adicione o servidor em mcpServers, usando a configuração do Cursor mostrada na seção de instalação acima.
Posso acompanhar o que o agente está fazendo?
Sim, um cursor visível desliza até cada alvo com rótulos de ação, e cada agente recebe sua própria cor e grupo de abas.
O agente rouba o meu foco enquanto trabalha?
Não, o agente opera em abas de segundo plano para que você possa continuar seu trabalho sem interrupções.
Como o agente interage com as páginas da web?
Ele utiliza o chrome.debugger para garantir que cliques e teclas sejam processados pelas páginas exatamente como seriam por um humano.