로컬 허브와 확장을 통해 AI 에이전트가 실제 커서와 사용자 입력을 사용하여 실제 Chrome 브라우저 탭을 제어할 수 있게 합니다.
다른 이름 longvo2k/pointer, @longvo2k/pointer
- 스타
- 2
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 13일
- 라이선스
- MIT
Pointer MCP란?
Pointer은(는) MCP server입니다. 로컬 허브와 확장을 통해 AI 에이전트가 실제 커서와 사용자 입력을 사용하여 실제 Chrome 브라우저 탭을 제어할 수 있게 합니다.
프로젝트 README에서 생성된 요약
Pointer MCP server 정보
Pointer는 AI 에이전트가 가시적인 커서와 인간과 유사한 입력을 사용하여 실제 Chrome 브라우저 탭을 제어할 수 있도록 지원합니다. 로컬 허브와 Chrome 확장을 사용함으로써 Claude Code, Cursor, OpenCode와 같은 에이전트가 이미 로그인된 페이지를 포함하여 기존 브라우저 세션과 상호작용할 수 있습니다. 이 설정을 통해 에이전트는 사용자의 작업 흐름을 방해하지 않고 백그라운드 탭에서 작업을 수행할 수 있으며, 사용자는 화면의 가시적인 포인터를 통해 모든 움직임을 모니터링할 수 있습니다.
개발자는 이 프로세스를 관리하기 위해 browser_status, click, fill, navigate 등 다양한 도구를 사용합니다. 시스템은 chrome.debugger 프로토콜을 사용하여 클릭과 키 입력이 실제 사람의 동작과 정확히 일치하도록 합니다. 보안 유지를 위해 허브는 127.0.0.1과만 통신하며 은행과 같은 특정 사이트를 차단하는 기능을 포함합니다. 서버는 효율적으로 설계되어 작업 중 토큰 사용량을 최소화하기 위해 화면에서 변경된 사항만 보고합니다.
활용 사례
- 1가입 흐름 자동화에이전트에게 특정 플랜을 선택하고 양식을 작성하여 등록 프로세스를 테스트하도록 요청합니다.
- 2웹 애플리케이션 디버깅AI에게 콘솔과 네트워크 로그를 확인하여 특정 페이지에 데이터가 표시되지 않는 이유를 조사하도록 지시합니다.
- 3웹 리서치 수행에이전트가 Wikipedia에서 특정 주제를 검색하고 조사 결과에 대한 간결한 요약을 제공하도록 합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Pointer MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 Pointer MCP 설치
$ claude mcp add pointer -- npx -y @longvo2k/pointerCursor에 Pointer MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}VS Code에 Pointer MCP 설치
.vscode/mcp.json
{
"servers": {
"pointer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}VS Code CLI에 Pointer MCP 설치
$ code --add-mcp '{"name":"pointer","type":"stdio","command":"npx","args":["-y","@longvo2k/pointer"]}'Claude Desktop에 Pointer MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}Codex에 Pointer MCP 설치
$ codex mcp add pointer -- npx -y @longvo2k/pointerCodex config.toml에 Pointer MCP 설치
~/.codex/config.toml
[mcp_servers.pointer] command = "npx" args = ["-y", "@longvo2k/pointer"]
Gemini CLI에 Pointer MCP 설치
$ gemini mcp add -s user pointer npx -- -y @longvo2k/pointerGemini settings.json에 Pointer MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"pointer": {
"command": "npx",
"args": [
"-y",
"@longvo2k/pointer"
]
}
}
}자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능longvo2k/pointer is public and reachablegithub.com/longvo2k/pointer ↗통과
- 패키지가 이 저장소를 소스로 명시@longvo2k/pointer names longvo2k/pointer as sourcenpmjs.com/package/@longvo2k/pointer ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for @longvo2k/pointernpmjs.com/package/@longvo2k/pointer/v/0.3.0#provenance ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-13github.com/longvo2k/pointer ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from @longvo2k/pointer통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Pointer
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.
Pointer MCP 질문
Pointer MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add pointer -- npx -y @longvo2k/pointer를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Pointer MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
에이전트가 무엇을 하는지 볼 수 있나요?
네, 가시적인 커서가 작업 레이블과 함께 대상 위치로 이동하며, 각 에이전트에는 고유한 색상과 탭 그룹이 할당됩니다.
에이전트가 작업하는 동안 제 작업 흐름을 방해하나요?
아니요, 에이전트는 백그라운드 탭에서 작동하므로 중단 없이 계속 업무를 수행할 수 있습니다.
에이전트는 웹 페이지와 어떻게 상호작용하나요?
chrome.debugger를 사용하여 클릭과 키 입력이 실제 사람과 동일하게 페이지에서 처리되도록 보장합니다.