Browser Use
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
作者による説明(英語の原文)
Create, launch, check and drive Nullprint multi-profile browser profiles from any MCP agent.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"nullprint": {
"command": "npx",
"args": [
"-y",
"nullprint-mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add nullprint -- npx -y nullprint-mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"nullprint": {
"command": "npx",
"args": [
"-y",
"nullprint-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"nullprint": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"nullprint-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント nullprintai で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.5)がレジストリに届いたのは15 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv), Node.jsも必要です。
同じカテゴリには:Browser Use, Chrome DevTools MCP, MCP Server Browser
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
MCP server for Chrome DevTools
MCP server for browser use access
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
An MCP server for Nullprint, the multi-profile browser. It lets any MCP-capable AI agent (Claude Code, Claude Desktop, OpenAI Codex, Kimi, …) create browser profiles, launch them, run consistency check-ups and drive the pages inside a running profile.
The server is a thin layer over the local Nullprint daemon's HTTP API: every tool maps to one daemon endpoint. The daemon, the browser kernels and the fingerprint engine ship with the Nullprint desktop app and are not part of this package.
# Claude Code
claude mcp add nullprint -- uvx nullprint-mcp
codex mcp add nullprint -- uvx nullprint-mcp
Claude Desktop, Kimi and other clients that use an mcpServers config file:
{
"mcpServers": { "nullprint": { "command": "uvx", "args": ["nullprint-mcp"] } } }
Without uv: pip install nullprint-mcp, then use nullprint-mcp as the command (no args).
No port or key to configure: the server reads the running daemon's port and API key from ~/.nullprint/daemon.json, which the desktop app writes on start-up. To point at a daemon elsewhere, pass --daemon-url http://host:port (or --port 7801 for localhost) and set NULLPRINT_API_KEY. Resolution order, most explicit first:
--daemon-url / --portNULLPRINT_DAEMON_URLNULLPRINT_PORT~/.nullprint/daemon.json (NULLPRINT_HOME changes the directory)If the daemon is not running the tools say so plainly instead of throwing a connection trace.
| Tool | What it does | Daemon endpoint |
|---|---|---|
profiles_list | List every profile with status (running / idle), exit and ledger metadata | GET /profiles |
profile_start | Open a browser session for a profile; returns the driving endpoints | POST /sessions/{name} |
profile_stop | Stop that profile's browser (session or app-launched window) | DELETE /sessions/{name} → falls back to POST /profiles/{name}/stop |
profile_create | Create a profile (fingerprint generated and frozen), optionally with proxy, ledger and start pages | POST /profiles |
profile_settings | Change a display setting of an existing profile — today force_dark (force dark web pages, off by default; merged into its launch settings) | GET + PATCH /profiles/{name} |
profile_checkup | Consistency check-up, returns {summary, checks} | GET /profiles/{name}/checkup?live= |
proxy_check | Stateless proxy test: exit IP, country, latency | POST /proxy-check |
profile_delete | Soft delete to the recycle bin (recoverable); refused while running | DELETE /profiles/{name} |
trash_list | Read-only list of recoverable profiles in the recycle bin | GET /trash |
profile_restore | Restore from the recycle bin with fingerprint, proxy and logins intact | POST /trash/{name}/restore |
session_goto | Navigate the session's current page | POST /sessions/{name}/goto |
session_snapshot | Accessibility tree of the current page (find selectors, read state) | GET /sessions/{name}/snapshot |
session_click_selector | Click an element by CSS selector | POST /sessions/{name}/click_selector |
session_fill_selector | Fill an input by CSS selector | POST /sessions/{name}/fill_selector |
session_press | Send a key (e.g. Enter) | POST /sessions/{name}/press |
session_eval | Run JavaScript on the page, returns {ok, result} | POST /sessions/{name}/eval |
session_tabs | List the session's tabs and the active one | GET /sessions/{name}/tabs |
session_switch_tab | Bring a tab to the front | POST /sessions/{name}/switch_tab |
session_dialog | Answer the JavaScript dialog (alert / confirm / prompt / beforeunload) open on the page: accept or dismiss | POST /sessions/{name}/dialog |
Notes that matter when writing prompts:
session_* tools need an open session.** They drive the warm session opened by profile_start; calling them on a profile without one returns 409. Selectors are CSS, not XPath or role/name; call session_snapshot first when you do not know a selector.session_* tools fail with 409 naming the dialog; answer it with session_dialog, then retry. A beforeunload caused by your own session_goto or click is accepted automatically.{ok: false, error, error_type}), not as a tool failure; result follows the expression's type.{name, stopped, closed}.engine empty to use the app's default; unknown values come back as a 422 listing the options.{ok: false, error}; only an unreachable daemon raises.ws:// DevTools address) for Chrome kernels with external debugging turned on in the app (off by default; Edit → Advanced → External debugging, needs a second verification, then reopen the profile), so external tools can attach. Otherwise it is null, with cdp_unavailable (reason code) and cdp_note saying why. A session driven from outside bypasses Nullprint's consistency guards: an outside tool can set a viewport, language or time zone that contradicts the profile's frozen fingerprint and make it detectable. Prefer the session_* tools; if you must attach, do not change anything the profile has not declared.Permanently deleting a profile (DELETE /trash/{name}) destroys its logins and cannot be undone. It is not a tool on purpose: emptying the recycle bin is a human action in the desktop app. profile_delete's description tells the agent to say so instead of working around it, and a test scans every tool's source to keep the purge endpoint out. Screenshot-to-disk and file-writing tools are left out for the same reason (local path safety).
pip install -e ".[dev]"
pytest tests nullprint-mcp --help
Tools live in nullprint_mcp/tools.py (the TOOLS tuple); server.py and __main__.py do not change when a tool is added. Nothing may be printed to stdout: stdout is the MCP channel.
MIT. Copyright (c) 2026 HENGCHENG LLC.
这是 Nullprint(多身份指纹浏览器)的 MCP 服务:Claude Code、Claude Desktop、OpenAI Codex、Kimi 等任何支持 MCP 的 AI 都可以用它建身份、启动浏览器、做一致性体检、驱动身份里的网页。它只是本地 daemon HTTP 接口上的薄薄一层,每个工具对应 daemon 的一个端点;daemon、浏览器内核和指纹引擎随 Nullprint 桌面应用发布,不在本包内。
前提:本机装好并登录 Nullprint 桌面应用;本机有 Python 3.11+,推荐用 uv(首次运行自动装包)。
接入:
claude mcp add nullprint -- uvx nullprint-mcp # Claude Code
codex mcp add nullprint -- uvx nullprint-mcp # OpenAI Codex
Claude Desktop、Kimi 等走配置文件的客户端,在 mcpServers 里加 {"command": "uvx", "args": ["nullprint-mcp"]}。没有 uv 就 pip install nullprint-mcp,命令改为 nullprint-mcp。
不用配端口和密钥:服务自动读桌面应用写在 ~/.nullprint/daemon.json 里的端口和 API Key。要连别的机器上的 daemon,传 --daemon-url 并设 NULLPRINT_API_KEY。
18 个工具:profiles_list、profile_start、profile_stop、profile_create、profile_settings、profile_checkup、proxy_check、profile_delete、trash_list、profile_restore,以及 8 个会话工具 session_goto / snapshot / click_selector / fill_selector / press / eval / tabs / switch_tab(先 profile_start 再用)。彻底删除身份故意不做成工具:清空回收站只能在桌面应用里由人操作。