ローカルハブと拡張機能を通じて、可視化されたカーソルと実際のユーザー入力を伴う実在のChromeブラウザタブをAIエージェントが操作できるようにします。
別名 longvo2k/pointer, @longvo2k/pointer
- スター
- 2
- ツール
- —
- ダウンロード数(30日間)
- —
- 最新バージョン
- —
- 最終コミット
- 2026年11月13日
- ライセンス
- MIT
Pointer MCPとは
PointerはMCPサーバーです。 ローカルハブと拡張機能を通じて、可視化されたカーソルと実際のユーザー入力を伴う実在のChromeブラウザタブをAIエージェントが操作できるようにします。.
プロジェクトのREADMEから生成された概要
Pointer MCP server について
Pointerは、可視化されたカーソルと人間のような入力を伴う実在のChromeブラウザタブの操作をAIエージェントに提供します。ローカルハブと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を開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
エージェントの動作を監視できますか?
はい、可視化されたカーソルがアクションラベルと共にターゲットへ移動します。各エージェントには独自のカラーとタブグループが割り当てられます。
エージェントが作業中に操作のフォーカスを奪うことはありますか?
いいえ、エージェントはバックグラウンドタブで動作するため、作業を中断することなく継続できます。
エージェントはどのようにウェブページとやり取りしますか?
chrome.debuggerを使用することで、クリックやキー入力が人間による操作と全く同じようにページに処理されることを保証します。