Nik-Browser MCP
Локальный MCP-сервер, который предоставляет LLM собственный независимый Chromium для управления браузером, включая открытие сайтов, чтение страниц, нажатие кнопок, заполнение форм и создание скриншотов.
README
Nik-Browser MCP
Локальный MCP-сервер, который даёт LLM собственный независимый Chromium. Браузер, профиль входов и снимки хранятся внутри папки проекта и не смешиваются с вашим обычным Chrome или Edge.
Подходит для Windows 10/11, LM Studio и других MCP-клиентов со стандартным транспортом stdio.
Что умеет
- открывать сайты и вкладки;
- читать текст страниц и находить кнопки, ссылки и поля;
- нажимать кнопки и клавиши;
- заполнять текстовые поля;
- выбирать пункты списков и устанавливать флажки;
- прикреплять файлы и папки на GitHub, Яндекс Диск, Google Drive и другие сайты;
- делать PNG-снимки страниц;
- проверять Git-проекты на типичные секреты;
- дополнительно публиковать репозитории через GitHub CLI.
Что будет создано на компьютере
Внутри папки проекта появятся:
.venv— отдельное Python-окружение;browser-runtime— собственный Chromium;browser-profile— cookies и входы на сайты;screenshots— снимки страниц.
Все эти каталоги исключены из Git.
Быстрая установка для Windows
Шаг 1. Установите Python
Скачайте Python 3.10 или новее с https://www.python.org/downloads/windows/.
На первом экране установщика отметьте Add Python to PATH.
Шаг 2. Скачайте проект
Откройте PowerShell и выполните:
cd "$HOME\Desktop"
git clone https://github.com/Nikolay-3D/nik-browser-mcp.git
cd nik-browser-mcp
Если Git не установлен, скачайте ZIP на странице GitHub через Code → Download ZIP, распакуйте его и откройте PowerShell в распакованной папке.
Шаг 3. Запустите автоматическую установку
powershell -ExecutionPolicy Bypass -File .\install-windows.ps1
Скрипт:
- создаст
.venv; - установит Python-зависимости;
- скачает Chromium в
browser-runtime; - запустит тесты и MCP-handshake;
- напечатает готовый фрагмент конфигурации.
Ручная установка venv
Если автоматический скрипт не подошёл:
cd "ПОЛНЫЙ\ПУТЬ\К\nik-browser-mcp"
py -3.10 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
Если py -3.10 не найден, попробуйте py -3.
Chromium можно установить после подключения, попросив модель вызвать:
browser_install_runtime с confirm="INSTALL_BROWSER"
Либо установить заранее:
$env:PLAYWRIGHT_BROWSERS_PATH = "$PWD\browser-runtime"
.\.venv\Scripts\python.exe -m playwright install chromium
Подключение к LM Studio
Шаг 1. Узнайте полный путь
В PowerShell, находясь в папке проекта:
$PWD.Path
Например, получилось:
C:\Users\Ivan\Desktop\nik-browser-mcp
Шаг 2. Откройте конфигурацию MCP
В LM Studio откройте раздел MCP Servers или файл:
C:\Users\ВАШЕ_ИМЯ\.lmstudio\mcp.json
Шаг 3. Добавьте сервер
Замените C:\PATH\TO\nik-browser-mcp на настоящий полный путь:
{
"mcpServers": {
"Nik-Browser": {
"command": "C:\\PATH\\TO\\nik-browser-mcp\\.venv\\Scripts\\python.exe",
"args": [
"C:\\PATH\\TO\\nik-browser-mcp\\run_server.py"
],
"env": {
"MCP_BROWSER_CDP_URL": "http://127.0.0.1:9333",
"MCP_BROWSER_ALLOWED_ROOTS": "C:\\Users\\ВАШЕ_ИМЯ\\Desktop;C:\\Users\\ВАШЕ_ИМЯ\\Documents;C:\\Users\\ВАШЕ_ИМЯ\\Downloads",
"PYTHONUTF8": "1"
}
}
}
}
Если в mcp.json уже есть другие серверы, не удаляйте их. Добавьте только блок "Nik-Browser": {...} внутрь существующего mcpServers, поставив запятую между соседними блоками.
Готовый шаблон также находится в mcp.example.json.
После сохранения обновите список MCP, выключите и включите сервер или перезапустите LM Studio.
Первый запуск
Напишите модели:
Запусти собственный браузер через browser_launch, открой github.com и покажи список вкладок.
Откроется отдельное окно Chromium. Войдите в нужные сервисы вручную. Входы сохранятся в browser-profile.
Как пользоваться
Модель должна работать в таком порядке:
browser_snapshot— получить текст страницы и элементыe1,e2и так далее.browser_click,browser_fill,browser_select_optionилиbrowser_set_checked— выполнить действие.- После перехода на другую страницу — снова вызвать
browser_snapshot.
Идентификаторы e1, e2 временные. Ошибка Ref expired означает, что нужен новый снимок.
Пример поиска
Открой сайт, найди поле поиска, введи запрос и покажи результаты.
Пример загрузки файла
Открой Яндекс Диск, найди загрузку и прикрепи файл C:\Users\Ivan\Desktop\report.pdf. Перед окончательной отправкой покажи выбранный файл.
Для прикрепления используется browser_upload_files с confirm_external_upload=true. Прикрепление не нажимает финальную кнопку отправки автоматически.
Пример загрузки проекта
Открой Google Drive и загрузи папку C:\Users\Ivan\Desktop\MyProject. Не отправляй ничего, пока не покажешь список файлов.
При загрузке папки автоматически пропускаются .git, .venv, venv, node_modules и __pycache__. Типичные секреты и приватные ключи блокируются.
Публикация на GitHub
Небольшие файлы можно загружать через сайт GitHub обычными браузерными инструментами.
Для полноценного Git-репозитория удобнее дополнительный путь через GitHub CLI:
github_cli_status— проверить установку и вход;github_cli_install(confirm="INSTALL_GH")— установитьghчерез winget;- один раз выполнить
gh auth loginв обычном PowerShell; git_project_status— проверить проект и секреты;github_publish_project(..., confirm="PUBLISH")— создать и отправить репозиторий.
По умолчанию используйте visibility="private". Для открытого проекта укажите visibility="public" явно.
Проверка установки
.\.venv\Scripts\python.exe -m unittest discover -s tests -v
.\.venv\Scripts\python.exe smoke_test.py
Успешный результат содержит строку вроде:
MCP handshake OK: 19 tools
Частые ошибки
Not connected
- проверьте абсолютные пути в
commandиargs; - проверьте наличие
.venv\Scripts\python.exe; - запустите
smoke_test.py; - выключите и снова включите MCP;
- если не помогло — перезапустите LM Studio.
Private browser runtime is not installed
Вызовите:
browser_install_runtime(confirm="INSTALL_BROWSER")
Browser did not expose CDP
Порт 9333 занят другим процессом. Закройте старое окно Nik-Browser либо укажите одинаковый свободный порт в MCP_BROWSER_CDP_URL и browser_launch.
Path is outside MCP_BROWSER_ALLOWED_ROOTS
Добавьте нужную папку в MCP_BROWSER_ALLOWED_ROOTS. В Windows пути разделяются точкой с запятой. После изменения перезапустите MCP.
Безопасность
- CDP доступен только через
localhost. - Никогда не публикуйте
browser-profile: в нём находятся cookies и входы. - Не добавляйте
browser-runtimeи.venvв Git. - Разрешайте модели доступ только к нужным каталогам.
- Проверяйте сайт и список файлов перед
confirm_external_upload=true. - Подробнее: SECURITY.md.
Лицензия
MIT — можно использовать, изменять и распространять с сохранением текста лицензии.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。